[gtk+/wip/baedert/drawing: 347/359] window: Fix resizing with solid-csd



commit a0e1578f9f70b5e40388cbc17ddd2a7c4436bdf5
Author: Timm Bäder <mail baedert org>
Date:   Sun Jul 9 10:21:30 2017 +0200

    window: Fix resizing with solid-csd
    
    We can't use a 20px resize handle in that case so fall back to the
    padding area of the window. Still ugly but it works.

 gtk/gtkwindow.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index f373903..e804609 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -1710,11 +1710,21 @@ edge_under_coordinates (GtkWindow     *window,
   _gtk_widget_get_allocation (GTK_WIDGET (window), &allocation);
   context = _gtk_widget_get_style_context (GTK_WIDGET (window));
   gtk_style_context_save_to_node (context, priv->decoration_node);
-  gtk_style_context_get_margin (context, &border);
-  gtk_style_context_restore (context);
 
-  handle_h = MIN (RESIZE_HANDLE_SIZE, allocation.width / 2);
-  handle_v = MIN (RESIZE_HANDLE_SIZE, allocation.height / 2);
+  if (priv->use_client_shadow)
+    {
+      handle_h = MIN (RESIZE_HANDLE_SIZE, allocation.width / 2);
+      handle_v = MIN (RESIZE_HANDLE_SIZE, allocation.height / 2);
+      gtk_style_context_get_margin (context, &border);
+    }
+  else
+    {
+      handle_h = 0;
+      handle_v = 0;
+      gtk_style_context_get_padding (context, &border);
+    }
+
+  gtk_style_context_restore (context);
 
   /* Check whether the click falls outside the handle area */
   if (x >= allocation.x + border.left + handle_h &&


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]