[haiku-commits] r36918 - haiku/branches/features/stack-and-tile/src/servers/app

  • From: clemens.zeidler@xxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 24 May 2010 03:57:56 +0200 (CEST)

Author: czeidler
Date: 2010-05-24 03:57:56 +0200 (Mon, 24 May 2010)
New Revision: 36918
Changeset: http://dev.haiku-os.org/changeset/36918/haiku

Modified:
   haiku/branches/features/stack-and-tile/src/servers/app/Desktop.cpp
   haiku/branches/features/stack-and-tile/src/servers/app/Desktop.h
Log:
Call InvokeMoveWindow at the right position as it has been done in the original 
SAT code. Crashed previously for some unkown reasons.



Modified: haiku/branches/features/stack-and-tile/src/servers/app/Desktop.cpp
===================================================================
--- haiku/branches/features/stack-and-tile/src/servers/app/Desktop.cpp  
2010-05-23 20:31:31 UTC (rev 36917)
+++ haiku/branches/features/stack-and-tile/src/servers/app/Desktop.cpp  
2010-05-24 01:57:56 UTC (rev 36918)
@@ -1296,10 +1296,8 @@
 
                        window->Anchor(workspace).position += BPoint(x, y);
                        _WindowChanged(window);
-               } else {
+               } else
                        window->MoveBy((int32)x, (int32)y);
-                       InvokeMoveWindow(window);
-               }
 
                UnlockAllWindows();
                return;
@@ -1316,7 +1314,6 @@
        }
 
        window->MoveBy((int32)x, (int32)y);
-       InvokeMoveWindow(window);
 
        BRegion background;
        _RebuildClippingForAllWindows(background);
@@ -1357,6 +1354,9 @@
        }
 
        UnlockAllWindows();
+
+       if (window->IsDragging())
+               InvokeMoveWindow(window);
 }
 
 
@@ -1371,8 +1371,8 @@
 
        if (!window->IsVisible()) {
                window->ResizeBy((int32)x, (int32)y, NULL);
+               UnlockAllWindows();
                InvokeResizeWindow(window);
-               UnlockAllWindows();
                return;
        }
 
@@ -1391,7 +1391,6 @@
        }
 
        window->ResizeBy((int32)x, (int32)y, &newDirtyRegion);
-       InvokeResizeWindow(window);
 
        BRegion background;
        _RebuildClippingForAllWindows(background);
@@ -1416,6 +1415,8 @@
        }
 
        UnlockAllWindows();
+
+       InvokeResizeWindow(window);
 }
 
 

Modified: haiku/branches/features/stack-and-tile/src/servers/app/Desktop.h
===================================================================
--- haiku/branches/features/stack-and-tile/src/servers/app/Desktop.h    
2010-05-23 20:31:31 UTC (rev 36917)
+++ haiku/branches/features/stack-and-tile/src/servers/app/Desktop.h    
2010-05-24 01:57:56 UTC (rev 36918)
@@ -91,6 +91,8 @@
 class DesktopObservable
 {
        public:
+                                                       DesktopObservable();
+
                void                            
RegisterListener(DesktopListener* listener);
                void                            
UnregisterListener(DesktopListener* listener);
 


Other related posts:

  • » [haiku-commits] r36918 - haiku/branches/features/stack-and-tile/src/servers/app - clemens . zeidler