Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_main.c e_winlist.c 


Log Message:


NO MORE SEGV damnit!

oh and also keybidnigns work now even if no windows have been shown or
focused yet

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_main.c,v
retrieving revision 1.96
retrieving revision 1.97
diff -u -3 -r1.96 -r1.97
--- e_main.c    11 Jun 2005 13:32:29 -0000      1.96
+++ e_main.c    13 Jun 2005 04:18:29 -0000      1.97
@@ -659,6 +659,7 @@
          {
             man->num = i;
             e_manager_show(man);
+            if (i == 0) ecore_x_window_focus(man->root);
          }
        else
          {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_winlist.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- e_winlist.c 13 Jun 2005 03:55:39 -0000      1.6
+++ e_winlist.c 13 Jun 2005 04:18:29 -0000      1.7
@@ -24,6 +24,7 @@
 static int _e_winlist_cb_event_border_remove(void *data, int type,  void 
*event);
 static int _e_winlist_cb_key_down(void *data, int type, void *event);
 static int _e_winlist_cb_key_up(void *data, int type, void *event);
+static int _e_winlist_animator(void *data);
 
 /* local subsystem globals */
 static E_Popup *winlist = NULL;
@@ -193,6 +194,10 @@
        else if (bd->desk) e_desk_show(bd->desk);
        e_border_raise(bd);
        e_border_focus_set(bd, 1, 1);
+       if (e_config->focus_policy != E_FOCUS_CLICK)
+         ecore_x_pointer_warp(bd->zone->container->win,
+                              bd->x + (bd->w / 2),
+                              bd->y + (bd->h / 2));
        /* FIXME: ensure whatever window is selected is focused after we finish 
cleanup - seee above for fix to mouse enter events */
      }
 }
@@ -201,7 +206,10 @@
 e_winlist_next(void)
 {
    _e_winlist_deactivate();
-   win_selected = win_selected->next;
+   if (!win_selected)
+     win_selected = wins;
+   else
+     win_selected = win_selected->next;
    if (!win_selected) win_selected = wins;
    _e_winlist_show_active();
    _e_winlist_activate();
@@ -211,7 +219,10 @@
 e_winlist_prev(void)
 {
    _e_winlist_deactivate();
-   win_selected = win_selected->prev;
+   if (!win_selected)
+     win_selected = wins;
+   else
+     win_selected = win_selected->prev;
    if (!win_selected) win_selected = evas_list_last(wins);
    _e_winlist_show_active();
    _e_winlist_activate();
@@ -349,12 +360,12 @@
    if ((!ww->border->iconic) &&
        (ww->border->desk == e_desk_current_get(winlist->zone)))
      {
-       e_border_raise(ww->border);
-       e_border_focus_set(ww->border, 1, 1);
        if (e_config->focus_policy != E_FOCUS_CLICK)
          ecore_x_pointer_warp(ww->border->zone->container->win,
                               ww->border->x + (ww->border->w / 2),
                               ww->border->y + (ww->border->h / 2));
+       e_border_raise(ww->border);
+       e_border_focus_set(ww->border, 1, 1);
      }
    if (ww->border->client.netwm.name)
      edje_object_part_text_set(bg_object, "title_text", 
ww->border->client.netwm.name);
@@ -501,3 +512,8 @@
                                  E_OBJECT(winlist->zone), ev);
    return 1;
 }
+
+static int
+_e_winlist_animator(void *data)
+{
+}




-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to