summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHavoc Pennington <hp@pobox.com>2003-02-22 22:19:24 +0000
committerHavoc Pennington <hp@src.gnome.org>2003-02-22 22:19:24 +0000
commit7e10a50fc080577bf8eef58fde8d123e8554e0fb (patch)
tree3b8b398eea56e919e00fd87822a9fd2393a67a30
parent237f89f6eb95bdab70327ac036340dcfb74355f2 (diff)
downloadmetacity-7e10a50fc080577bf8eef58fde8d123e8554e0fb.tar.gz
fix to unfocus window only when you leave the window frame, not when you
2003-02-22 Havoc Pennington <hp@pobox.com> * src/display.c (event_callback): fix to unfocus window only when you leave the window frame, not when you leave the window itself, unless window has no frame. #100248 fix from Orien Vandenbergh
-rw-r--r--ChangeLog6
-rw-r--r--src/display.c7
2 files changed, 7 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 47ad6ac0..da323aac 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-02-22 Havoc Pennington <hp@pobox.com>
+
+ * src/display.c (event_callback): fix to unfocus window only when
+ you leave the window frame, not when you leave the window itself,
+ unless window has no frame. #100248 fix from Orien Vandenbergh
+
2003-02-20 Havoc Pennington <hp@redhat.com>
* src/stack.c (create_constraints): don't create constraints
diff --git a/src/display.c b/src/display.c
index a19e9e48..541486cb 100644
--- a/src/display.c
+++ b/src/display.c
@@ -1493,13 +1493,8 @@ event_callback (XEvent *event,
switch (meta_prefs_get_focus_mode ())
{
case META_FOCUS_MODE_MOUSE:
- /* This is kind of questionable; but we normally
- * set focus to RevertToPointerRoot, so I guess
- * leaving it on PointerRoot when nothing is focused
- * is probably right. Anyway, unfocus the
- * focused window.
- */
if (window->has_focus &&
+ (window->frame == NULL || frame_was_receiver) &&
event->xcrossing.mode != NotifyGrab &&
event->xcrossing.mode != NotifyUngrab &&
event->xcrossing.detail != NotifyInferior)