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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs