[gtk+] GtkWindow: Get the correct shadow width even before window is	realized
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [gtk+] GtkWindow: Get the correct shadow width even before window is	realized
- Date: Wed,  6 May 2015 11:56:57 +0000 (UTC)
commit b1e5ad469c753ea3eed967056ca814ecb0117c7b
Author: Jonas Ådahl <jadahl gmail com>
Date:   Wed Apr 29 15:08:44 2015 +0800
    GtkWindow: Get the correct shadow width even before window is realized
    
    The window state 'client_decorated' will only be set the window is being
    realized. If anyone tries to get the shadow size before that it'd get
    the with as if there always was no shadow.
    
    This avoids negative sized opaque regions caused by the allocation being
    smaller than shadow.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=748615
 gtk/gtkwindow.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 5a57b77..2a85f1f 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -6529,7 +6529,8 @@ static void
 get_shadow_width (GtkWidget *widget,
                   GtkBorder *shadow_width)
 {
-  GtkWindowPrivate *priv = GTK_WINDOW (widget)->priv;
+  GtkWindow *window = GTK_WINDOW (widget);
+  GtkWindowPrivate *priv = window->priv;
   GtkBorder border = { 0 };
   GtkBorder d = { 0 };
   GtkBorder margin;
@@ -6541,7 +6542,8 @@ get_shadow_width (GtkWidget *widget,
   *shadow_width = border;
 
   if (!priv->decorated ||
-      !priv->client_decorated)
+      !gtk_window_should_use_csd (window) ||
+      !gtk_window_supports_client_shadow (window))
     return;
 
   if (priv->maximized ||
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]