Bug 55164

Summary: moving non-sticky window with active desktop borders enabled to another desktop makes it sticky
Product: [Plasma] kwin Reporter: M. Philippens <marc_philippens>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description M. Philippens 2003-02-25 17:11:47 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          GCC 3.2 SuSE 8.1
OS:          Linux

To reproduce:

1) Enable Active Desktop Borders Only when moving windows

ControlPanel -> Desktop -> Window Behaviour-> Advanced -> Active Desktop Borders 

2) Now move a non-sticky window from one desktop e.g. 1 to another desktop e.g. 2

3) The window should now be sticky on all desktops, but the sticky pin on the window
   is not enabled.
Comment 1 Lubos Lunak 2003-03-03 19:08:53 UTC
Subject: kdebase/kwin

CVS commit by lunakl: 

Fix #55164.
CCMAIL: 55164-done@bugs.kde.org


  M +4 -2      workspace.cpp   1.408


--- kdebase/kwin/workspace.cpp  #1.407:1.408
@@ -2307,7 +2307,9 @@ void Workspace::setCurrentDesktop( int n
         ObscuringWindows obs_wins;
 
+        bool updateMovingClientDesktop = false;
         if (d->movingClient && !d->movingClient->isSticky())
         {
-            d->movingClient->setDesktop(-1); // All desktops
+            updateMovingClientDesktop = true;
+            d->movingClient->setDesktop( -1 );
         }
 
@@ -2327,5 +2329,5 @@ void Workspace::setCurrentDesktop( int n
         }
 
-        if (d->movingClient && !d->movingClient->isSticky())
+        if (d->movingClient && updateMovingClientDesktop )
         {
             d->movingClient->setDesktop(new_desktop);