Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c 


Log Message:


add refcounr/is_del check before generating event

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.525
retrieving revision 1.526
diff -u -3 -r1.525 -r1.526
--- e_border.c  14 Aug 2006 11:08:40 -0000      1.525
+++ e_border.c  16 Aug 2006 23:12:03 -0000      1.526
@@ -1351,28 +1351,33 @@
      {
        if (focused)
          {
-            E_Event_Border_Focus_Out *ev;
-//          printf("unfocus previous\n");
-            edje_object_signal_emit(focused->bg_object, "passive", "");
-            if (focused->icon_object)
-              edje_object_signal_emit(focused->icon_object, "passive", "");
-            e_focus_event_focus_out(focused);
-
-            ev = calloc(1, sizeof(E_Event_Border_Focus_Out)); 
-            ev->border = focused; 
-            e_object_ref(E_OBJECT(focused));
-
-            ecore_event_add(E_EVENT_BORDER_FOCUS_OUT, ev,
-                            _e_border_event_border_focus_out_free, NULL);
-
-            /* FIXME: Sometimes we should leave the window fullscreen! */
-//          if (focused->fullscreen) e_border_unfullscreen(focused);
-            focused->focused = 0;
-//               e_border_focus_set(focused, 0, 0);
-            if (focused->raise_timer)
+            if ((!e_object_is_del(E_OBJECT(focused))) &&
+                (e_object_ref_get(E_OBJECT(focused)) > 0))
               {
-                 ecore_timer_del(focused->raise_timer);
-                 focused->raise_timer = NULL;
+                 E_Event_Border_Focus_Out *ev;
+            
+//               printf("unfocus previous\n");
+                 edje_object_signal_emit(focused->bg_object, "passive", "");
+                 if (focused->icon_object)
+                   edje_object_signal_emit(focused->icon_object, "passive", 
"");
+                 e_focus_event_focus_out(focused);
+                 
+                 ev = calloc(1, sizeof(E_Event_Border_Focus_Out)); 
+                 ev->border = focused; 
+                 e_object_ref(E_OBJECT(focused));
+                 
+                 ecore_event_add(E_EVENT_BORDER_FOCUS_OUT, ev,
+                                 _e_border_event_border_focus_out_free, NULL);
+                 
+                 /* FIXME: Sometimes we should leave the window fullscreen! */
+//               if (focused->fullscreen) e_border_unfullscreen(focused);
+                 focused->focused = 0;
+//               e_border_focus_set(focused, 0, 0);
+                 if (focused->raise_timer)
+                   {
+                      ecore_timer_del(focused->raise_timer);
+                      focused->raise_timer = NULL;
+                   }
               }
          }
        e_hints_active_window_set(bd->zone->container->manager, bd);



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to