Bug 55164 - moving non-sticky window with active desktop borders enabled to another desktop makes it sticky
Summary: moving non-sticky window with active desktop borders enabled to another deskt...
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-02-25 17:11 UTC by M. Philippens
Modified: 2003-03-03 19:08 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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);