]> Sergey Matveev's repositories - nnn.git/commitdiff
Remove dir watch before filtering contents
authorArun Prakash Jana <engineerarun@gmail.com>
Wed, 30 Jan 2019 13:49:14 +0000 (19:19 +0530)
committerArun Prakash Jana <engineerarun@gmail.com>
Wed, 30 Jan 2019 13:49:14 +0000 (19:19 +0530)
src/nnn.c

index 309d7ef71b6efb1377e1933c4e1fa9ba75c81eb1..7e3c93985f2359b008e22d06d521b9551b8989d6 100644 (file)
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -1249,21 +1249,8 @@ static int nextsel(int *presel)
        if (c == 0) {
                c = getch();
                DPRINTF_D(c);
-       } else {
-               /* Unwatch dir if we are still in a filtered view */
-#ifdef LINUX_INOTIFY
-               if (*presel == FILTER && inotify_wd >= 0) {
-                       inotify_rm_watch(inotify_fd, inotify_wd);
-                       inotify_wd = -1;
-               }
-#elif defined(BSD_KQUEUE)
-               if (*presel == FILTER && event_fd >= 0) {
-                       close(event_fd);
-                       event_fd = -1;
-               }
-#endif
+       } else
                *presel = 0;
-       }
 
        if (c == -1) {
                ++idle;
@@ -3144,6 +3131,18 @@ nochange:
                        printmsg(mark);
                        goto nochange;
                case SEL_FLTR:
+                       /* Unwatch dir if we are still in a filtered view */
+#ifdef LINUX_INOTIFY
+                       if (inotify_wd >= 0) {
+                               inotify_rm_watch(inotify_fd, inotify_wd);
+                               inotify_wd = -1;
+                       }
+#elif defined(BSD_KQUEUE)
+                       if (event_fd >= 0) {
+                               close(event_fd);
+                               event_fd = -1;
+                       }
+#endif
                        presel = filterentries(path);
                        /* Save current */
                        if (ndents)