1. 04 Oct, 2004 1 commit
    • Elijah Newren's avatar
      Fix a variety of focus race conditions in all focus modes, or at least · 16b9aff4
      Elijah Newren authored
      2004-10-04  Elijah Newren  <newren@math.utah.edu>
      
      	Fix a variety of focus race conditions in all focus modes, or at
      	least make them harder to trigger (fixes #152000)
      
      	* src/core.[ch] (meta_core_user_lower_and_unfocus): add a
      	timestamp parameter; pass it along to
      	meta_workspace_focus_default_window
      
      	* src/display.[ch] (meta_display_get_current_time_roundtrip): new
      	function
      
      	* src/display.c (event_callback): pass a timestamp to the
      	meta_workspace_activate and meta_workspace_focus_default_window
      	function calls
      
      	* src/frames.c (meta_frames_button_press_event): pass a timestamp
      	to meta_core_user_lower_and_unfocus
      
      	* src/keybindings.c (handle_activate_workspace): pass a timestamp
      	to meta_workspace_activate, (process_workspace_switch_grab): pass
      	a timestamp to meta_workspace_focus_default_window and
      	meta_workspace_activate, (handle_toggle_desktop): pass a timestamp
      	to meta_workspace_focus_default_window,
      	(do_handle_move_to_workspace): pass a timestamp to
      	meta_workspace_activate_with_focus, (handle_workspace_switch):
      	meta_workspace_activate
      
      	* src/screen.c (meta_screen_new): pass a timestamp to
      	meta_workspace_activate
      
      	* src/window.c (meta_window_free): pass a timestamp to
      	meta_workspace_focus_default_window, (idle_calc_showing): don't
      	increment the focus sentinel here, (meta_window_minimize): pass a
      	timestamp to meta_workspace_focus_default_window,
      	(meta_window_client_message), pass a timestamp to
      	meta_workspace_focus_default_window
      
      	* src/workspace.h (meta_workspace_activate): add timestamp
      	parameter, (meta_workspace_activate_with_focus): add timestamp
      	parameter, (meta_workspace_focus_default_window): add timestamp
      	parameter
      
      	* src/workspace.c (meta_workspace_focus_mru_window): make this
      	function take a timestamp and use it for meta_window_focus or
      	XSetInputFocus, (meta_workspace_activate_with_focus): make this
      	function take a timestamp and pass it along to meta_window_focus
      	and meta_workspace_focus_default_window,
      	(meta_workspace_activate): make this function take a timestamp and
      	pass it to meta_workspace_activate_with_focus),
      	(meta_workspace_focus_default_window): make this function take a
      	timestamp, warn if its 0 but try to handle that case sanely, and
      	pass the timestamp on to meta_window_focus or
      	meta_workspace_focus_mru_window or XSetInputFocus
      16b9aff4
  2. 29 Sep, 2004 1 commit
  3. 26 Sep, 2004 1 commit
  4. 22 Sep, 2004 2 commits
    • Elijah Newren's avatar
      Focus the default window after the user dismisses the workspace switcher · 7b1e5719
      Elijah Newren authored
      2004-09-22  Elijah Newren  <newren@math.utah.edu>
      
      	* src/keybindings.c (process_workspace_switch_grab): Focus the
      	default window after the user dismisses the workspace switcher
      	popup (fixes #123803; note that an alternate fix was made
      	independently by David Baron for sloppy and mouse focus users)
      7b1e5719
    • Elijah Newren's avatar
      Fix some uninitialized variable errors reported by valgrind (see #153338) · 3b9ec3ce
      Elijah Newren authored
      2004-09-22  Elijah Newren  <newren@math.utah.edu>
      
      	Fix some uninitialized variable errors reported by valgrind (see
      	#153338)
      
      	* src/display.c (meta_display_open): initialize
      	display->grab_resize_timeout_id, and display->grab_have_keyboard
      
      	* src/ui.c (meta_ui_create_frame_window): initialize attrs.width
      	and attrs.height
      3b9ec3ce
  5. 19 Sep, 2004 1 commit
  6. 17 Sep, 2004 1 commit
  7. 16 Sep, 2004 3 commits
    • Kjartan Maraas's avatar
      A load of fixes of issues reported by sparse. Closes bug #152849 · 43cc3b86
      Kjartan Maraas authored
      2004-09-17  Kjartan Maraas  <kmaraas@gnome.org>
      
      	* src/bell.c: (meta_bell_flash_screen):
      	* src/compositor.c:
      	* src/effects.c: (meta_effects_draw_box_animation):
      	* src/fixedtip.c: (meta_fixed_tip_show):
      	* src/frame.c: (find_argb_visual):
      	* src/frames.c: (unsigned_long_hash), (meta_frames_manage_window),
      	(meta_frames_apply_shapes):
      	* src/iconcache.c: (find_largest_sizes), (find_best_size):
      	* src/keybindings.c: (meta_spawn_command_line_async_on_screen):
      	* src/main.c: (main):
      	* src/menu.c: (meta_window_menu_new):
      	* src/prefs.c: (meta_prefs_get_visual_bell),
      	(meta_prefs_bell_is_audible), (meta_prefs_get_visual_bell_type),
      	(meta_prefs_get_action_double_click_titlebar),
      	(meta_prefs_get_auto_raise), (meta_prefs_get_auto_raise_delay),
      	(meta_prefs_get_reduced_resources):
      	* src/screen.c: (meta_create_offscreen_window):
      	* src/tabpopup.c: (meta_ui_tab_popup_get_selected):
      	* src/theme-parser.c: (meta_theme_load):
      	* src/theme.c: (meta_gtk_widget_get_font_desc):
      	* src/tools/metacity-mag.c: (mouse_press), (begin_area_grab):
      	* src/util.c: (meta_unsigned_long_hash): A load of fixes of issues
      	reported by sparse. Closes bug #152849
      43cc3b86
    • Elijah Newren's avatar
      Remove some redundant code regarding focusing the default window (#152117) · 9d9c7444
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	* src/display.c (event_callback): Remove some redundant code
      	regarding focusing the default window (#152117)
      9d9c7444
    • Elijah Newren's avatar
      Patch from Ken Harris in #135786 to focus a new default window when · 63e1624b
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Patch from Ken Harris in #135786 to focus a new default window
      	when lowering via middle-click on the frame.
      
      	* src/core.[hc], src/frames.c: rename meta_core_user_lower to
      	meta_core_user_lower_and_unfocus
      
      	* src/core.c (meta_core_user_lower_and_unfocus): if in
      	click-to-focus mode then also move the window to the back of the
      	mru list and focus the new default window for the active workspace
      63e1624b
  8. 15 Sep, 2004 6 commits
    • Elijah Newren's avatar
      Focus the no_focus_window if no suitable window is in the mru list (should · cffe7e95
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Focus the no_focus_window if no suitable window is in the mru list
      	(should fix the almost contrived extra issue found in #147475)
      
      	* doc/how-to-get-focus-right.txt: We no longer need to lie about
      	only focusing panels upon explicit request.
      
      	* src/workspace.c: (meta_workspace_focus_top_window): removed this
      	function--it was more code than needed and was unreliable anyway,
      	(meta_workspace_focus_mru_window): if a suitable window isn't in
      	the mru list, focus the no_focus_window instead of calling
      	focus_top_window.
      cffe7e95
    • Elijah Newren's avatar
    • Elijah Newren's avatar
      Prevent focus inconsistencies by only providing one focus method (fixes · 101a097f
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Prevent focus inconsistencies by only providing one focus method
      	(fixes #151990)
      
      	* src/screen.c (meta_screen_show_desktop): remove call to
      	meta_workspace_focus_top_window (it was merely focusing a window
      	that was going to be hidden anyway, and likely the one that
      	already had focus)
      
      	* src/workspace.[hc]: remove meta_workspace_focus_mru_window and
      	meta_workspace_focus_top_window from workspace.h, make them static
      	functions in workspace.c
      101a097f
    • Elijah Newren's avatar
      Remove race condition for focus window choice on window close followed by · 5ac6fcad
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Remove race condition for focus window choice on window close
      	followed by rapid mouse movement in sloppy and mouse focus modes
      	(fixes #152000)
      
      	* src/window.c (meta_window_free): Don't increment the focus
      	sentinel for windows being freed, (idle_calc_showing): don't
      	increment the focus sentinel for windows being minimized
      5ac6fcad
    • Elijah Newren's avatar
      Fix unwanted loss of focus to the mouse window when using keynav (fixes · a880f5d4
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Fix unwanted loss of focus to the mouse window when using keynav
      	(fixes #101190)
      
      	* src/display.c (event_callback): Ignore EnterNotify events with
      	xcrossing.mode of either NotifyGrab or NotifyUngrab
      a880f5d4
    • Elijah Newren's avatar
      Focus correct window after minimizing via the tasklist (fixes #128200; see · 4b9fe2ca
      Elijah Newren authored
      2004-09-15  Elijah Newren  <newren@math.utah.edu>
      
      	Focus correct window after minimizing via the tasklist (fixes
      	#128200; see also #107681)
      
      	* src/display.h (struct _MetaDisplay): track the
      	previously_focused_window
      
      	* src/display.c (meta_display_open): initialize
      	previously_focused_window
      
      	* src/window.c (meta_window_free): clear the
      	previously_focused_window if it's being freed,
      	(meta_window_client_message): if we get a request to minimize the
      	previously_focused_window and the focus_window is a dock or the
      	desktop, focus the default window, (meta_window_notify_focus):
      	update the previously_focused_window
      4b9fe2ca
  9. 14 Sep, 2004 3 commits
  10. 13 Sep, 2004 2 commits
  11. 12 Sep, 2004 1 commit
  12. 11 Sep, 2004 2 commits
  13. 10 Sep, 2004 1 commit
  14. 08 Sep, 2004 3 commits
  15. 07 Sep, 2004 3 commits
  16. 06 Sep, 2004 1 commit
  17. 05 Sep, 2004 1 commit
  18. 03 Sep, 2004 3 commits
  19. 30 Aug, 2004 3 commits
  20. 29 Aug, 2004 1 commit