From 62b233264d3808eff3138d51855ac9963e9c48a0 Mon Sep 17 00:00:00 2001
From: markt <markt>
Date: Sat, 10 Feb 2007 23:12:54 +0000
Subject: windows weren't getting set resizable when MaxSize and MinSize hints
 changed

---
 ChangeLog     |  3 +++
 src/Window.cc | 12 +++++-------
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 6f31e5f..85cafb9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
  (Format: Year/Month/Day)
 Changes for 1.0rc3:
 *07/02/10:
+   * MaxSize and MinSize hints weren't getting updated properly -- bug #1560803
+     (Mark + thanks Jim Ramsay)
+     Window.cc
    * Fixed a bug with `session.ignoreBorder: true' (Mark)
      Window.cc
    * Fixed a bug with resizing windows for clients when only the width is
diff --git a/src/Window.cc b/src/Window.cc
index c83acd7..1393c99 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -2485,12 +2485,10 @@ void FluxboxWindow::propertyNotifyEvent(WinClient &client, Atom atom) {
         bool changed = false;
         client.updateWMNormalHints();
 
-        if ((client.normal_hint_flags & PMinSize) &&
-            (client.normal_hint_flags & PMaxSize) &&
-            (client.min_width != old_min_width ||
-             client.max_width != old_max_width ||
-             client.min_height != old_min_height ||
-             client.max_height != old_max_height)) {
+        if (client.min_width != old_min_width ||
+            client.max_width != old_max_width ||
+            client.min_height != old_min_height ||
+            client.max_height != old_max_height) {
             if (client.max_width != 0 && client.max_width <= client.min_width &&
                 client.max_height != 0 && client.max_height <= client.min_height) {
                 if (decorations.maximize ||
@@ -2504,7 +2502,7 @@ void FluxboxWindow::propertyNotifyEvent(WinClient &client, Atom atom) {
                 functions.maximize=false;
             } else {
                 // TODO: is broken while handled by FbW, needs to be in WinClient
-                if (! client.isTransient()) {
+                if (!client.isTransient() || screen().decorateTransient()) {
                     if (!decorations.maximize ||
                         !decorations.handle ||
                         !functions.maximize)
-- 
cgit v0.11.2