summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2021-09-21 03:39:19 +0200
committerBenjamin Otte <otte.benjamin@googlemail.com>2021-09-21 02:52:30 +0000
commit9fb729ccc01dadc674aab23981cff78eaef2059f (patch)
tree8265398ab2d47b01d62b166557beb08df1230a09
parent4b582851f7bc329274b4df0177e2b7b6723ca380 (diff)
downloadgtk+-9fb729ccc01dadc674aab23981cff78eaef2059f.tar.gz
window: Improve set_titlebar() function
Get rid of a goto and check if the titlebar is already set.
-rw-r--r--gtk/gtkwindow.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index a1a34359c9..dcb39a05c2 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -3000,6 +3000,9 @@ gtk_window_set_titlebar (GtkWindow *window,
g_return_if_fail (GTK_IS_WINDOW (window));
+ if (priv->title_box == titlebar)
+ return;
+
if ((!priv->title_box && titlebar) || (priv->title_box && !titlebar))
{
was_mapped = _gtk_widget_get_mapped (widget);
@@ -3020,19 +3023,18 @@ gtk_window_set_titlebar (GtkWindow *window,
priv->client_decorated = FALSE;
gtk_widget_remove_css_class (widget, "csd");
gtk_widget_remove_css_class (widget, "solid-csd");
-
- goto out;
}
+ else
+ {
+ priv->use_client_shadow = gtk_window_supports_client_shadow (window);
- priv->use_client_shadow = gtk_window_supports_client_shadow (window);
-
- gtk_window_enable_csd (window);
- priv->title_box = titlebar;
- gtk_widget_insert_before (priv->title_box, widget, NULL);
+ gtk_window_enable_csd (window);
+ priv->title_box = titlebar;
+ gtk_widget_insert_before (priv->title_box, widget, NULL);
- gtk_widget_add_css_class (titlebar, "titlebar");
+ gtk_widget_add_css_class (titlebar, "titlebar");
+ }
-out:
if (was_mapped)
gtk_widget_map (widget);
}