a2c9177
Index: src/filemanager/midnight.c
a2c9177
===================================================================
a2c9177
--- src/filemanager/midnight.c	(revision c1f2a8ac49d29da749f078d69174f83b96720514)
a2c9177
+++ src/filemanager/midnight.c	(revision 9bec27cb0473c4e0545f33cb18ae794b84e8b2bb)
a2c9177
@@ -1598,5 +1598,5 @@
a2c9177
     {
a2c9177
         /* menubar */
a2c9177
-        if (menubar_visible)
a2c9177
+        if (menubar_visible || the_menubar->is_active)
a2c9177
             ret = ((Widget *) the_menubar)->mouse (event, the_menubar);
a2c9177
         else
a2c9177
@@ -1605,10 +1605,12 @@
a2c9177
 
a2c9177
             w = get_panel_widget (0);
a2c9177
-            ret = w->mouse (event, w);
a2c9177
+            if (w->mouse != NULL)
a2c9177
+                ret = w->mouse (event, w);
a2c9177
 
a2c9177
             if (ret == MOU_UNHANDLED)
a2c9177
             {
a2c9177
                 w = get_panel_widget (1);
a2c9177
-                ret = w->mouse (event, w);
a2c9177
+                if (w->mouse != NULL)
a2c9177
+                    ret = w->mouse (event, w);
a2c9177
             }
a2c9177
 
a2c9177
Index: src/filemanager/panel.c
a2c9177
===================================================================
a2c9177
--- src/filemanager/panel.c	(revision c1f2a8ac49d29da749f078d69174f83b96720514)
a2c9177
+++ src/filemanager/panel.c	(revision 9bec27cb0473c4e0545f33cb18ae794b84e8b2bb)
a2c9177
@@ -3555,8 +3555,8 @@
a2c9177
 
a2c9177
     /* 1st line */
a2c9177
-    if (mouse_down && local.y == 1)
a2c9177
+    if (local.y == 1)
a2c9177
     {
a2c9177
         /* "<" button */
a2c9177
-        if (local.x == 2)
a2c9177
+        if (mouse_down && local.x == 2)
a2c9177
         {
a2c9177
             directory_history_prev (panel);
a2c9177
@@ -3565,5 +3565,5 @@
a2c9177
 
a2c9177
         /* ">" button */
a2c9177
-        if (local.x == w->cols - 1)
a2c9177
+        if (mouse_down && local.x == w->cols - 1)
a2c9177
         {
a2c9177
             directory_history_next (panel);
a2c9177
@@ -3572,5 +3572,5 @@
a2c9177
 
a2c9177
         /* "^" button */
a2c9177
-        if (local.x >= w->cols - 4 && local.x <= w->cols - 2)
a2c9177
+        if (mouse_down && local.x >= w->cols - 4 && local.x <= w->cols - 2)
a2c9177
         {
a2c9177
             directory_history_list (panel);
a2c9177
@@ -3580,5 +3580,5 @@
a2c9177
 
a2c9177
         /* "." button show/hide hidden files */
a2c9177
-        if (local.x == w->cols - 5)
a2c9177
+        if (mouse_down && local.x == w->cols - 5)
a2c9177
         {
a2c9177
             midnight_dlg->callback (midnight_dlg, NULL, DLG_ACTION, CK_ShowHidden, NULL);
a2c9177
Index: src/filemanager/tree.c
a2c9177
===================================================================
a2c9177
--- src/filemanager/tree.c	(revision 9b5e5a5106a41bc070e45a2dd176aeaad52fc510)
a2c9177
+++ src/filemanager/tree.c	(revision 9bec27cb0473c4e0545f33cb18ae794b84e8b2bb)
a2c9177
@@ -637,9 +637,9 @@
a2c9177
     Gpm_Event local;
a2c9177
 
a2c9177
+    if (!mouse_global_in_widget (event, w))
a2c9177
+        return MOU_UNHANDLED;
a2c9177
+
a2c9177
     /* rest of the upper frame - call menu */
a2c9177
     if (tree->is_panel && (event->type & GPM_DOWN) != 0 && event->y == w->owner->y + 1)
a2c9177
-        return MOU_UNHANDLED;
a2c9177
-
a2c9177
-    if (!mouse_global_in_widget (event, w))
a2c9177
         return MOU_UNHANDLED;
a2c9177