Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c e_container.c e_manager.c 


Log Message:
Fix gqview segv. The border wasn't removed from the containers client list.

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.212
retrieving revision 1.213
diff -u -3 -r1.212 -r1.213
--- e_border.c  19 May 2005 00:12:30 -0000      1.212
+++ e_border.c  19 May 2005 04:38:32 -0000      1.213
@@ -2924,7 +2924,6 @@
             evas_object_del(bd->bg_object);
          }
         o = edje_object_add(bd->bg_evas);
-       bd->bg_object = o;
        snprintf(buf, sizeof(buf), "widgets/border/%s/border",
                 bd->client.border.name);
        ok = e_theme_edje_object_set(o, "base/theme/borders", buf);
@@ -2932,6 +2931,7 @@
          {
             const char *shape_option;
             
+            bd->bg_object = o;
             shape_option = edje_object_data_get(o, "shaped");
             if (shape_option)
               {
@@ -2975,6 +2975,8 @@
          }
        else
          {
+            evas_object_del(o);
+            bd->bg_object = NULL;
             l = 0;
             r = 0;
             t = 0;
@@ -2990,37 +2992,40 @@
        bd->h += (bd->client_inset.t + bd->client_inset.b);
        bd->changes.size = 1;
        ecore_x_window_move(bd->client.shell_win, l, t);
-       edje_object_signal_callback_add(o, "move_start", "*",
-                                       _e_border_cb_signal_move_start, bd);
-       edje_object_signal_callback_add(o, "move_stop", "*",
-                                       _e_border_cb_signal_move_stop, bd);
-       edje_object_signal_callback_add(o, "resize_tl_start", "*",
-                                       _e_border_cb_signal_resize_tl_start, 
bd);
-       edje_object_signal_callback_add(o, "resize_t_start", "*",
-                                       _e_border_cb_signal_resize_t_start, bd);
-       edje_object_signal_callback_add(o, "resize_tr_start", "*",
-                                       _e_border_cb_signal_resize_tr_start, 
bd);
-       edje_object_signal_callback_add(o, "resize_r_start", "*",
-                                       _e_border_cb_signal_resize_r_start, bd);
-       edje_object_signal_callback_add(o, "resize_br_start", "*",
-                                  _e_border_cb_signal_resize_br_start, bd);
-       edje_object_signal_callback_add(o, "resize_b_start", "*",
-                                       _e_border_cb_signal_resize_b_start, bd);
-       edje_object_signal_callback_add(o, "resize_bl_start", "*",
-                                       _e_border_cb_signal_resize_bl_start, 
bd);
-       edje_object_signal_callback_add(o, "resize_l_start", "*",
-                                       _e_border_cb_signal_resize_l_start, bd);
-       edje_object_signal_callback_add(o, "resize_stop", "*",
-                                       _e_border_cb_signal_resize_stop, bd);
-       edje_object_signal_callback_add(o, "action", "*",
-                                       _e_border_cb_signal_action, bd);
-       edje_object_signal_callback_add(o, "drag", "*",
-                                       _e_border_cb_signal_drag, bd);
-       if (bd->focused)
-         edje_object_signal_emit(bd->bg_object, "active", "");
-       evas_object_move(o, 0, 0);
-       evas_object_resize(o, bd->w, bd->h);
-       evas_object_show(o);
+       if (bd->bg_object)
+         {
+            edje_object_signal_callback_add(bd->bg_object, "move_start", "*",
+                                            _e_border_cb_signal_move_start, 
bd);
+            edje_object_signal_callback_add(bd->bg_object, "move_stop", "*",
+                                            _e_border_cb_signal_move_stop, bd);
+            edje_object_signal_callback_add(bd->bg_object, "resize_tl_start", 
"*",
+                                            
_e_border_cb_signal_resize_tl_start, bd);
+            edje_object_signal_callback_add(bd->bg_object, "resize_t_start", 
"*",
+                                            
_e_border_cb_signal_resize_t_start, bd);
+            edje_object_signal_callback_add(bd->bg_object, "resize_tr_start", 
"*",
+                                            
_e_border_cb_signal_resize_tr_start, bd);
+            edje_object_signal_callback_add(bd->bg_object, "resize_r_start", 
"*",
+                                            
_e_border_cb_signal_resize_r_start, bd);
+            edje_object_signal_callback_add(bd->bg_object, "resize_br_start", 
"*",
+                                            
_e_border_cb_signal_resize_br_start, bd);
+            edje_object_signal_callback_add(bd->bg_object, "resize_b_start", 
"*",
+                                            
_e_border_cb_signal_resize_b_start, bd);
+            edje_object_signal_callback_add(bd->bg_object, "resize_bl_start", 
"*",
+                                            
_e_border_cb_signal_resize_bl_start, bd);
+            edje_object_signal_callback_add(bd->bg_object, "resize_l_start", 
"*",
+                                            
_e_border_cb_signal_resize_l_start, bd);
+            edje_object_signal_callback_add(bd->bg_object, "resize_stop", "*",
+                                            _e_border_cb_signal_resize_stop, 
bd);
+            edje_object_signal_callback_add(bd->bg_object, "action", "*",
+                                            _e_border_cb_signal_action, bd);
+            edje_object_signal_callback_add(bd->bg_object, "drag", "*",
+                                            _e_border_cb_signal_drag, bd);
+            if (bd->focused)
+              edje_object_signal_emit(bd->bg_object, "active", "");
+            evas_object_move(bd->bg_object, 0, 0);
+            evas_object_resize(bd->bg_object, bd->w, bd->h);
+            evas_object_show(bd->bg_object);
+         }
        bd->client.border.changed = 0;
        
        if (bd->icon_object)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_container.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -3 -r1.57 -r1.58
--- e_container.c       18 May 2005 19:35:57 -0000      1.57
+++ e_container.c       19 May 2005 04:38:32 -0000      1.58
@@ -549,17 +549,13 @@
 void
 e_container_border_remove(E_Border *bd)
 {
-   int pos;
-
-   if (bd->layer == 0) pos = 0;
-   else if ((bd->layer > 0) && (bd->layer <= 50)) pos = 1;
-   else if ((bd->layer > 50) && (bd->layer <= 100)) pos = 2;
-   else if ((bd->layer > 100) && (bd->layer <= 150)) pos = 3;
-   else if ((bd->layer > 150) && (bd->layer <= 200)) pos = 4;
-   else pos = 5;
+   int i;
 
-   bd->zone->container->layers[pos].clients =
-      evas_list_remove(bd->zone->container->layers[pos].clients, bd);
+   for (i = 0; i < 7; i++)
+     {
+       bd->zone->container->layers[i].clients =
+          evas_list_remove(bd->zone->container->layers[i].clients, bd);
+     }
 }
 
 void
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_manager.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- e_manager.c 13 May 2005 07:27:41 -0000      1.25
+++ e_manager.c 19 May 2005 04:38:32 -0000      1.26
@@ -92,6 +92,10 @@
    if (h) man->handlers = evas_list_append(man->handlers, h);
    h = ecore_event_handler_add(ECORE_X_EVENT_KEY_DOWN, _e_manager_cb_key_down, 
man);
    if (h) man->handlers = evas_list_append(man->handlers, h);
+
+   /* setup hints */
+   e_hints_manager_init(man);
+
    return man;
 }
 
@@ -273,6 +277,8 @@
        con = l->data;
        e_container_resize(con, man->w, man->h);
      }
+
+   ecore_x_netwm_desk_size_set(man->root, man->w, man->h);
 }
 
 void




-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7412&alloc_id=16344&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to