diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2020-08-08 11:53:00 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2020-08-08 11:53:00 +0200 |
commit | b623f5953691b2a0614e6f1f4def86bdbb9a4113 (patch) | |
tree | 18102bd36f7e22eb2ba2b9f880e4cb29346f4cb8 /app/wlib/gtklib/menu.c | |
parent | 359b557176b9bb2ff1aed2082641eed39c358d0d (diff) |
New upstream version 5.2.0Beta2.1upstream/5.2.0Beta2.1upstream
Diffstat (limited to 'app/wlib/gtklib/menu.c')
-rw-r--r-- | app/wlib/gtklib/menu.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/app/wlib/gtklib/menu.c b/app/wlib/gtklib/menu.c index d19805a..79695d4 100644 --- a/app/wlib/gtklib/menu.c +++ b/app/wlib/gtklib/menu.c @@ -555,7 +555,7 @@ wMenuList_p wMenuListCreate( * behind it. In case the maximum number of items is reached the last item is removed. * * \param ml IN handle for the menu list - the placeholder item - * \param index IN currently ignored + * \param index IN position of new menu item * \param labelStr IN the menu label for the new item * \param data IN application data for the new item * \return @@ -611,7 +611,11 @@ void wMenuListAdd( g_object_set_data( G_OBJECT(MMENUITEM( mi )), WLISTITEM, mi ); // add the item to the menu - gtk_menu_shell_insert((GtkMenuShell *)(MPARENT( ml )->menu), MMENUITEM( mi ), i + 1 ); + if ( index < 0 ) + index = 0; + if ( index >= ml->count ) + index = ml->count - 1; + gtk_menu_shell_insert((GtkMenuShell *)(MPARENT( ml )->menu), MMENUITEM( mi ), i + index + 1 ); g_signal_connect( GTK_OBJECT(MMENUITEM( mi )), "activate", G_CALLBACK(pushMenuList), mi ); gtk_widget_show(MMENUITEM( mi )); |