summaryrefslogtreecommitdiff
path: root/src/themes
diff options
context:
space:
mode:
Diffstat (limited to 'src/themes')
-rw-r--r--src/themes/nodoka/nodoka-theme.c11
-rw-r--r--src/themes/slider/theme.c9
-rw-r--r--src/themes/standard/theme.c9
3 files changed, 25 insertions, 4 deletions
diff --git a/src/themes/nodoka/nodoka-theme.c b/src/themes/nodoka/nodoka-theme.c
index 8600d60..4de4d5d 100644
--- a/src/themes/nodoka/nodoka-theme.c
+++ b/src/themes/nodoka/nodoka-theme.c
@@ -748,6 +748,13 @@ get_theme_info(char **theme_name,
*homepage = g_strdup("https://nodoka.fedorahosted.org/");
}
+static void
+close_button_clicked_cb(GtkButton* button, GtkWidget* win)
+{
+ g_object_set_data(G_OBJECT(win), "_user_closed", GINT_TO_POINTER(1));
+ gtk_widget_destroy(win);
+}
+
/* Create new notification */
GtkWindow *
create_notification(UrlClickedCb url_clicked)
@@ -860,8 +867,8 @@ create_notification(UrlClickedCb url_clicked)
gtk_button_set_relief(GTK_BUTTON(close_button), GTK_RELIEF_NONE);
gtk_container_set_border_width(GTK_CONTAINER(close_button), 0);
gtk_widget_set_size_request(close_button, 24, 24);
- g_signal_connect_swapped(G_OBJECT(close_button), "clicked",
- G_CALLBACK(gtk_widget_destroy), win);
+ g_signal_connect(G_OBJECT(close_button), "clicked",
+ G_CALLBACK(close_button_clicked_cb), win);
atkobj = gtk_widget_get_accessible(close_button);
atk_action_set_description(ATK_ACTION(atkobj), 0,
diff --git a/src/themes/slider/theme.c b/src/themes/slider/theme.c
index 7672a8d..c75967a 100644
--- a/src/themes/slider/theme.c
+++ b/src/themes/slider/theme.c
@@ -306,6 +306,13 @@ static void on_composited_changed(GtkWidget* window, WindowData* windata)
gtk_widget_queue_draw (windata->win);
}
+static void
+close_button_clicked_cb(GtkButton* button, GtkWidget* win)
+{
+ g_object_set_data(G_OBJECT(win), "_user_closed", GINT_TO_POINTER(1));
+ gtk_widget_destroy(win);
+}
+
GtkWindow* create_notification(UrlClickedCb url_clicked)
{
GtkWidget* win;
@@ -400,7 +407,7 @@ GtkWindow* create_notification(UrlClickedCb url_clicked)
gtk_button_set_relief(GTK_BUTTON(close_button), GTK_RELIEF_NONE);
gtk_container_set_border_width(GTK_CONTAINER(close_button), 0);
- g_signal_connect_swapped(G_OBJECT(close_button), "clicked", G_CALLBACK(gtk_widget_destroy), win);
+ g_signal_connect(G_OBJECT(close_button), "clicked", G_CALLBACK(close_button_clicked_cb), win);
atkobj = gtk_widget_get_accessible(close_button);
atk_action_set_description(ATK_ACTION(atkobj), 0,
diff --git a/src/themes/standard/theme.c b/src/themes/standard/theme.c
index 90171c6..b670f5b 100644
--- a/src/themes/standard/theme.c
+++ b/src/themes/standard/theme.c
@@ -642,6 +642,13 @@ static gboolean activate_link(GtkLabel* label, const char* url, WindowData* wind
return TRUE;
}
+static void
+close_button_clicked_cb(GtkButton* button, GtkWidget* win)
+{
+ g_object_set_data(G_OBJECT(win), "_user_closed", GINT_TO_POINTER(1));
+ gtk_widget_destroy(win);
+}
+
GtkWindow* create_notification(UrlClickedCb url_clicked)
{
GtkWidget* spacer;
@@ -754,7 +761,7 @@ GtkWindow* create_notification(UrlClickedCb url_clicked)
gtk_button_set_relief(GTK_BUTTON(close_button), GTK_RELIEF_NONE);
gtk_container_set_border_width(GTK_CONTAINER(close_button), 0);
//gtk_widget_set_size_request(close_button, 20, 20);
- g_signal_connect_swapped(G_OBJECT(close_button), "clicked", G_CALLBACK(gtk_widget_destroy), win);
+ g_signal_connect(G_OBJECT(close_button), "clicked", G_CALLBACK(close_button_clicked_cb), win);
atkobj = gtk_widget_get_accessible(close_button);
atk_action_set_description(ATK_ACTION(atkobj), 0,