cache pipe menus without crashing!
authorDana Jansens <danakj@orodu.net>
Sun, 10 Jun 2007 19:37:09 +0000 (19:37 +0000)
committerDana Jansens <danakj@orodu.net>
Sun, 10 Jun 2007 19:37:09 +0000 (19:37 +0000)
openbox/menu.c
openbox/menuframe.c

index 344e1a5..c82eab8 100644 (file)
@@ -424,6 +424,9 @@ void menu_show(gchar *name, gint x, gint y, gint button, ObClient *client)
 
     menu_frame_hide_all();
 
+    /* clear the pipe menus when showing a new menu */
+    menu_clear_pipe_caches();
+
     frame = menu_frame_new(self, 0, client);
     if (!menu_frame_show_topmenu(frame, x, y, button))
         menu_frame_free(frame);
index fa9e8e9..654cf2b 100644 (file)
@@ -1058,8 +1058,6 @@ void menu_frame_hide_all()
     }
     if ((it = g_list_last(menu_frame_visible)))
         menu_frame_hide(it->data);
-
-    menu_clear_pipe_caches();
 }
 
 void menu_frame_hide_all_client(ObClient *client)
@@ -1070,8 +1068,6 @@ void menu_frame_hide_all_client(ObClient *client)
         if (f->client == client)
             menu_frame_hide(f);
     }
-
-    menu_clear_pipe_caches();
 }