diff options
Diffstat (limited to 'applets/wncklet/workspace-switcher.c')
| -rw-r--r-- | applets/wncklet/workspace-switcher.c | 22 | 
1 files changed, 12 insertions, 10 deletions
| diff --git a/applets/wncklet/workspace-switcher.c b/applets/wncklet/workspace-switcher.c index f9d422ab..cdeca09c 100644 --- a/applets/wncklet/workspace-switcher.c +++ b/applets/wncklet/workspace-switcher.c @@ -86,6 +86,7 @@ typedef struct {  static void display_properties_dialog(GtkAction* action, PagerData* pager);  static void display_help_dialog(GtkAction* action, PagerData* pager);  static void display_about_dialog(GtkAction* action, PagerData* pager); +static void destroy_pager(GtkWidget* widget, PagerData* pager);  static void pager_update(PagerData* pager)  { @@ -319,16 +320,6 @@ static gboolean applet_scroll(MatePanelApplet* applet, GdkEventScroll* event, Pa  	return TRUE;  } -static void destroy_pager(GtkWidget* widget, PagerData* pager) -{ -	g_object_unref (pager->settings); - -	if (pager->properties_dialog) -		gtk_widget_destroy(pager->properties_dialog); - -	g_free(pager); -} -  static const GtkActionEntry pager_menu_actions[] = {  	{  		"PagerPreferences", @@ -967,3 +958,14 @@ static void display_properties_dialog(GtkAction* action, PagerData* pager)  	gtk_window_set_screen(GTK_WINDOW(pager->properties_dialog), gtk_widget_get_screen(pager->applet));  	gtk_window_present(GTK_WINDOW(pager->properties_dialog));  } + +static void destroy_pager(GtkWidget* widget, PagerData* pager) +{ +	g_signal_handlers_disconnect_by_data (pager->settings, pager); + +	g_object_unref (pager->settings); + +	if (pager->properties_dialog) +		gtk_widget_destroy(pager->properties_dialog); +	g_free(pager); +} | 
