Fix a bug where the window can be focused without being raised if the

2007-07-22  Rob Bradford  <rob@robster.org.uk>

        Fix a bug where the window can be focused without being raised
        if the maximize is aborted. Fixes #459027.

        * src/frames.c (meta_frames_button_press_event,
        meta_frames_button_release_event): When maximising only focus
        the window once the button press is released.       



svn path=/trunk/; revision=3273
This commit is contained in:
Rob Bradford 2007-07-23 01:48:17 +00:00 committed by Thomas James Alexander Thurman
parent e8b016984b
commit 618a6b38c3
2 changed files with 17 additions and 2 deletions

View File

@ -1,3 +1,12 @@
2007-07-22 Rob Bradford <rob@robster.org.uk>
Fix a bug where the window can be focused without being raised
if the maximize is aborted. Fixes #459027.
* src/frames.c (meta_frames_button_press_event,
meta_frames_button_release_event): When maximising only focus
the window once the button press is released.
2007-07-22 Cosimo Cecchi <anarki@lilik.it> 2007-07-22 Cosimo Cecchi <anarki@lilik.it>
Unset fullscreen is an allowed action where relevant. Fixes #449427. Unset fullscreen is an allowed action where relevant. Fixes #449427.

View File

@ -1341,7 +1341,8 @@ meta_frames_button_press_event (GtkWidget *widget,
/* focus on click, even if click was on client area */ /* focus on click, even if click was on client area */
if (event->button == 1 && if (event->button == 1 &&
!(control == META_FRAME_CONTROL_MINIMIZE || !(control == META_FRAME_CONTROL_MINIMIZE ||
control == META_FRAME_CONTROL_DELETE)) control == META_FRAME_CONTROL_DELETE ||
control == META_FRAME_CONTROL_MAXIMIZE))
{ {
meta_topic (META_DEBUG_FOCUS, meta_topic (META_DEBUG_FOCUS,
"Focusing window with frame 0x%lx due to button 1 press\n", "Focusing window with frame 0x%lx due to button 1 press\n",
@ -1637,8 +1638,13 @@ meta_frames_button_release_event (GtkWidget *widget,
case META_GRAB_OP_CLICKING_MAXIMIZE: case META_GRAB_OP_CLICKING_MAXIMIZE:
if (control == META_FRAME_CONTROL_MAXIMIZE) if (control == META_FRAME_CONTROL_MAXIMIZE)
{
/* Focus the window on the maximize */
meta_core_user_focus (gdk_display,
frame->xwindow,
event->time);
meta_core_maximize (gdk_display, frame->xwindow); meta_core_maximize (gdk_display, frame->xwindow);
}
meta_core_end_grab_op (gdk_display, event->time); meta_core_end_grab_op (gdk_display, event->time);
break; break;