From f9fbd86c75181e6701bd93e174773a98b391382c Mon Sep 17 00:00:00 2001
From: rathnor <rathnor>
Date: Wed, 3 Mar 2004 12:29:31 +0000
Subject: fix outline moving windows being dropped on their own workspace

---
 ChangeLog      | 3 +++
 src/Window.cc  | 3 ++-
 src/fluxbox.cc | 7 +++++--
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0d0a2ad..8c8bac8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
 (Format: Year/Month/Day)
 Changes for 0.9.9:
 *04/03/03:
+  * Fix outline moving dropping on source workspace made window 
+    disappear [we now explicitly don't unfocus a moving window] (Simon) 
+    Window.cc fluxbox.cc
   * Updated finnish locales for fluxbox-generate_menu (Thanks Lauri Hakkarainen)
 *04/03/02:
   * fluxbox-generate_menu changes: (Han)
diff --git a/src/Window.cc b/src/Window.cc
index f7d7bf2..7638306 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -22,7 +22,7 @@
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 // DEALINGS IN THE SOFTWARE.
 
-// $Id: Window.cc,v 1.268 2004/02/20 09:07:27 fluxgen Exp $
+// $Id: Window.cc,v 1.269 2004/03/03 12:29:31 rathnor Exp $
 
 #include "Window.hh"
 
@@ -2867,6 +2867,7 @@ void FluxboxWindow::resumeMoving() {
     
     if (m_workspace_number == screen().currentWorkspaceID()) {
         frame().show();
+        setInputFocus();
     }
 
     FbTk::App::instance()->sync(false);
diff --git a/src/fluxbox.cc b/src/fluxbox.cc
index e6099aa..119c22c 100644
--- a/src/fluxbox.cc
+++ b/src/fluxbox.cc
@@ -22,7 +22,7 @@
 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 // DEALINGS IN THE SOFTWARE.
 
-// $Id: fluxbox.cc,v 1.232 2004/02/27 12:30:17 fluxgen Exp $
+// $Id: fluxbox.cc,v 1.233 2004/03/03 12:29:31 rathnor Exp $
 
 #include "fluxbox.hh"
 
@@ -966,7 +966,10 @@ void Fluxbox::handleEvent(XEvent * const e) {
 #ifdef DEBUG
             cerr<<__FILE__<<"("<<__FUNCTION__<<") Focus out is not a FluxboxWindow !!"<<endl;
 #endif // DEBUG
-        } else if (winclient && winclient == m_focused_window)
+        } else if (winclient && winclient == m_focused_window && 
+                   (winclient->fbwindow() == 0 
+                    || !winclient->fbwindow()->isMoving()))
+            // we don't unfocus a moving window
             setFocusedWindow(0);
     }
 	break;
-- 
cgit v0.11.2