Fix wxGTK build with glib < 2.32 and streamline the code a bit
Define g_signal_handlers_disconnect_by_data() if it's not available,
i.e. when using glib older than 2.32 where it was added, to fix the
build under old systems such as CentOS 6 broken by the changes of
8278f7b618
(see #18084).
Also use it elsewhere instead of g_signal_handlers_disconnect_matched()
as it's more readable.
Closes https://github.com/wxWidgets/wxWidgets/pull/760
This commit is contained in:
@@ -808,8 +808,7 @@ wxMenu::~wxMenu()
|
||||
// Destroying a menu generates a "hide" signal even if it's not shown
|
||||
// currently, so disconnect it to avoid dummy wxEVT_MENU_CLOSE events
|
||||
// generation.
|
||||
g_signal_handlers_disconnect_matched(m_menu,
|
||||
GSignalMatchType(G_SIGNAL_MATCH_DATA), 0, 0, NULL, NULL, this);
|
||||
g_signal_handlers_disconnect_by_data(m_menu, this);
|
||||
|
||||
if (m_owner)
|
||||
{
|
||||
@@ -993,8 +992,7 @@ wxMenuItem *wxMenu::DoRemove(wxMenuItem *item)
|
||||
|
||||
GtkWidget * const mitem = item->GetMenuItem();
|
||||
|
||||
g_signal_handlers_disconnect_matched(mitem,
|
||||
GSignalMatchType(G_SIGNAL_MATCH_DATA), 0, 0, NULL, NULL, item);
|
||||
g_signal_handlers_disconnect_by_data(mitem, item);
|
||||
|
||||
#ifdef __WXGTK3__
|
||||
gtk_menu_item_set_submenu(GTK_MENU_ITEM(mitem), NULL);
|
||||
|
Reference in New Issue
Block a user