Enlightenment CVS committal

Author  : morlenxus
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_desk.c e_desk.h 


Log Message:
Patch by Michael Stapelberg <[EMAIL PROTECTED]> (needed by the new tiling 
module).

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_desk.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -3 -r1.71 -r1.72
--- e_desk.c    9 Dec 2007 15:40:14 -0000       1.71
+++ e_desk.c    5 Jun 2008 10:52:13 -0000       1.72
@@ -10,6 +10,7 @@
 
 static void _e_desk_free(E_Desk *desk);
 static void _e_border_event_desk_show_free(void *data, void *ev);
+static void _e_border_event_desk_before_show_free(void *data, void *ev);
 static void _e_border_event_desk_deskshow_free(void *data, void *ev);
 static void _e_border_event_desk_name_change_free(void *data, void *ev);
 
@@ -21,6 +22,7 @@
 static int _e_desk_hide_animator(void *data);
 
 EAPI int E_EVENT_DESK_SHOW = 0;
+EAPI int E_EVENT_DESK_BEFORE_SHOW = 0;
 EAPI int E_EVENT_DESK_DESKSHOW = 0;
 EAPI int E_EVENT_DESK_NAME_CHANGE = 0;
 
@@ -28,6 +30,7 @@
 e_desk_init(void)
 {
    E_EVENT_DESK_SHOW = ecore_event_type_new();
+   E_EVENT_DESK_BEFORE_SHOW = ecore_event_type_new();
    E_EVENT_DESK_DESKSHOW = ecore_event_type_new();
    E_EVENT_DESK_NAME_CHANGE = ecore_event_type_new();
    return 1;
@@ -200,6 +203,7 @@
    E_Border_List     *bl;
    E_Border          *bd;
    E_Event_Desk_Show *ev;
+   E_Event_Desk_Before_Show *eev;
    Evas_List *l;
    int                was_zone = 0;
    int                x, y, dx = 0, dy = 0;
@@ -208,6 +212,11 @@
    E_OBJECT_TYPE_CHECK(desk, E_DESK_TYPE);
    if (desk->visible) return;
 
+   eev = E_NEW(E_Event_Desk_Before_Show, 1);
+   eev->desk = e_desk_current_get(desk->zone);
+   e_object_ref(E_OBJECT(eev->desk));
+   ecore_event_add(E_EVENT_DESK_BEFORE_SHOW, eev, 
_e_border_event_desk_before_show_free, NULL);
+
    ecore_x_window_shadow_tree_flush();
    for (x = 0; x < desk->zone->desk_x_count; x++)
      {
@@ -507,6 +516,17 @@
    e_object_unref(E_OBJECT(ev->desk));
    free(ev);
 }
+
+static void
+_e_border_event_desk_before_show_free(void *data, void *event)
+{
+   E_Event_Desk_Before_Show *ev;
+
+   ev = event;
+   e_object_unref(E_OBJECT(ev->desk));
+   free(ev);
+}
+
 
 static void
 _e_border_event_desk_deskshow_free(void *data, void *event)
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_desk.h,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- e_desk.h    1 Sep 2006 15:37:23 -0000       1.25
+++ e_desk.h    5 Jun 2008 10:52:13 -0000       1.26
@@ -5,6 +5,7 @@
 
 typedef struct _E_Desk E_Desk;
 typedef struct _E_Event_Desk_Show E_Event_Desk_Show;
+typedef struct _E_Event_Desk_Before_Show E_Event_Desk_Before_Show;
 typedef struct _E_Event_Desk_DeskShow E_Event_Desk_DeskShow;
 typedef struct _E_Event_Desk_Name_Change E_Event_Desk_Name_Change;
 
@@ -34,6 +35,12 @@
    E_Desk   *desk;
 };
 
+struct _E_Event_Desk_Before_Show
+{
+   E_Desk   *desk;
+};
+
+
 struct _E_Event_Desk_Name_Change
 {
    E_Desk   *desk;
@@ -61,6 +68,7 @@
 EAPI void         e_desk_col_remove(E_Zone *zone);
 
 extern EAPI int E_EVENT_DESK_SHOW;
+extern EAPI int E_EVENT_DESK_BEFORE_SHOW;
 extern EAPI int E_EVENT_DESK_DESKSHOW;
 extern EAPI int E_EVENT_DESK_NAME_CHANGE;
 



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to