Merge branch 'backport' into work
authorDana Jansens <danakj@orodu.net>
Thu, 6 Mar 2008 07:46:32 +0000 (02:46 -0500)
committerDana Jansens <danakj@orodu.net>
Thu, 6 Mar 2008 07:46:32 +0000 (02:46 -0500)
Conflicts:

openbox/client.c

1  2 
.gitignore
openbox/client.c
openbox/client.h
render/image.c

diff --cc .gitignore
@@@ -48,9 -48,9 +48,10 @@@ po/en@boldquot.insert-heade
  po/en@quot.insert-header
  po/remove-potcdate.sed
  *.gmo
 -render/obrender-3.0.pc
 +render/obrender-4.0.pc
 +obt/obt-4.0.pc
  tools/gnome-panel-control/gnome-panel-control
+ tools/gdm-control/gdm-control
  version.h
  .libs
  .deps
@@@ -414,19 -494,22 +414,27 @@@ void client_manage(Window window, ObPro
                    activate ? "yes" : "no");
      if (activate) {
          gboolean raise = FALSE;
-         gboolean relative_focused = FALSE;
+         gboolean relative_focused;
+         gboolean parent_focused;
  
+         parent_focused = (focus_client != NULL &&
+                           client_search_focus_parent(self));
          relative_focused = (focus_client != NULL &&
-                             client_search_focus_tree_full(self) != NULL &&
-                             client_search_focus_group_full(self) != NULL);
+                             (client_search_focus_tree_full(self) != NULL ||
+                              client_search_focus_group_full(self) != NULL));
  
 -
          /* This is focus stealing prevention */
          ob_debug_type(OB_DEBUG_FOCUS,
                        "Want to focus new window 0x%x at time %u "
 -                      "launched at %u (last user interaction time %u)\n",
 +                      "launched at %u (last user interaction time %u)",
                        self->window, map_time, launch_time,
                        event_last_user_time);
++        ob_debug_type(OB_DEBUG_FOCUS,
++                      "Current focus_client: %s",
++                      (focus_client ? focus_client->title : "(none)"));
++        ob_debug_type(OB_DEBUG_FOCUS,
++                      "parent focuesed: %d  relative focused: %d",
++                      parent_focused, relative_focused);
  
          if (menu_frame_visible || moveresize_in_progress) {
              activate = FALSE;
                  activate = FALSE;
                  ob_debug_type(OB_DEBUG_FOCUS,
                                "Not focusing the window because the user is "
-                               "working in another window");
+                               "working in another window that is not "
 -                              "its parent\n");
++                              "its parent");
              }
              /* If the new window is a transient (and its relatives aren't
                 focused) */
Simple merge
diff --cc render/image.c
Simple merge