The mvwm repository's master branch has been updated.

The following shows the diffstat and patchsets between the merged result
and HEAD.

commit 14856f2891498237e38d768ab0c8a56abdcf25a5
Author: Thomas Adam <[email protected]>
Date:   Fri Sep 12 00:03:13 2014 +0100

    Rewrite fix of WarpToWindow.
---
 mvwm/focus.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/mvwm/focus.c b/mvwm/focus.c
index 3c9f093..645a2e8 100644
--- a/mvwm/focus.c
+++ b/mvwm/focus.c
@@ -1212,22 +1212,11 @@ void CMD_WarpToWindow(F_CMD_ARGS)
 {
        int val1_unit, val2_unit, n;
        int val1, val2;
-       MvwmWindow * const fw = exc->w.fw;
        struct monitor *m;
        int do_raise;
        char *next;
        char *token;
 
-       if (fw != NULL)
-       {
-               m = fw->m;
-       }
-       else
-       {
-               /*!!!used on an unmanaged window, we need to determine that
-                * window's monitor here instead of using the default */
-               m = monitor_get_current();
-       }
        next = GetNextToken(action, &token);
        if (StrEquals(token, "!raise"))
        {
@@ -1277,6 +1266,16 @@ void CMD_WarpToWindow(F_CMD_ARGS)
                        {
                                return;
                        }
+
+                       /* TA:  2014-09-11:  This window is unmanaged.  Since
+                        * mvwm won't have created a window for this, fw will be
+                        * NULL and hence no monitor information will be
+                        * present.  Since we already know the coordinates of
+                        * the unmanaged window, use those in determining the
+                        * monitor to use.
+                        */
+                       m = monitor_by_xy(wx, wy);
+
                        if (val1_unit != m->coord.w)
                        {
                                x = val1;


Reply via email to