changeset 43471:20574c51c791

(menubar_selection_callback): Free the menu and clear the menu_command_in_progress flag.
author Jason Rumney <jasonr@gnu.org>
date Sat, 23 Feb 2002 00:01:34 +0000
parents 842910bb2fc0
children 7faac536665f
files src/w32menu.c
diffstat 1 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/w32menu.c	Fri Feb 22 23:59:50 2002 +0000
+++ b/src/w32menu.c	Sat Feb 23 00:01:34 2002 +0000
@@ -159,6 +159,7 @@
 static void single_menu_item ();
 static void list_of_panes ();
 static void list_of_items ();
+void w32_free_menu_strings (HWND);
 
 /* This holds a Lisp vector that holds the results of decoding
    the keymaps or alist-of-alists that specify a menu.
@@ -1035,11 +1036,19 @@
 	      buf.arg = entry;
 	      kbd_buffer_store_event (&buf);
 
+	      /* Free memory used by owner-drawn and help-echo strings.  */
+	      w32_free_menu_strings (FRAME_W32_WINDOW (f));
+	      f->output_data.w32->menu_command_in_progress = 0;
+	      f->output_data.w32->menubar_active = 0;
 	      return;
 	    }
 	  i += MENU_ITEMS_ITEM_LENGTH;
 	}
     }
+  /* Free memory used by owner-drawn and help-echo strings.  */
+  w32_free_menu_strings (FRAME_W32_WINDOW (f));
+  f->output_data.w32->menu_command_in_progress = 0;
+  f->output_data.w32->menubar_active = 0;
 }
 
 /* Allocate a widget_value, blocking input.  */