@@ -24,6 +24,7 @@ struct _WindowManagerPlugin {
2424 GdkEventButton _event_button;
2525 GdkDevice* grab_pointer;
2626 GtkCssProvider* css_provider;
27+ gulong _button_press_emission_hook_id;
2728};
2829
2930G_DEFINE_TYPE (WindowManagerPlugin, window_manager_plugin, g_object_get_type())
@@ -938,6 +939,8 @@ static void window_manager_plugin_handle_method_call(
938939
939940static void window_manager_plugin_dispose (GObject* object) {
940941 WindowManagerPlugin* self = WINDOW_MANAGER_PLUGIN (object);
942+ g_signal_remove_emission_hook (g_signal_lookup (" button-press-event" , GTK_TYPE_WIDGET),
943+ self->_button_press_emission_hook_id );
941944 g_clear_object (&self->css_provider );
942945 g_free (self->title_bar_style_ );
943946 G_OBJECT_CLASS (window_manager_plugin_parent_class)->dispose (object);
@@ -1121,7 +1124,7 @@ void window_manager_plugin_register_with_registrar(
11211124 G_CALLBACK (on_event_after), plugin);
11221125 find_event_box (plugin, GTK_WIDGET (fl_plugin_registrar_get_view (registrar)));
11231126
1124- g_signal_add_emission_hook (
1127+ plugin-> _button_press_emission_hook_id = g_signal_add_emission_hook (
11251128 g_signal_lookup (" button-press-event" , GTK_TYPE_WIDGET), 0 , on_mouse_press,
11261129 plugin, NULL );
11271130
0 commit comments