diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2012-02-19 23:12:38 +0100 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2012-02-26 08:56:05 +0100 |
commit | 7f37409e0a7f528df15eef0d44f78ecae0b20f6c (patch) | |
tree | 0f263dde96288102b85bd22550fe10c666dae92f | |
parent | 1772d999c27106a9e4e3be5a0893d11261c7e789 (diff) | |
download | meta-openembedded-7f37409e0a7f528df15eef0d44f78ecae0b20f6c.tar.gz |
e-wm: fix memory usage with illume causing OOM
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r-- | meta-efl/recipes-efl/e17/e-wm/0001-Revert-Illume-Remove-the-popup.-It-s-not-needed-now.patch | 135 | ||||
-rw-r--r-- | meta-efl/recipes-efl/e17/e-wm_svn.bb | 3 |
2 files changed, 137 insertions, 1 deletions
diff --git a/meta-efl/recipes-efl/e17/e-wm/0001-Revert-Illume-Remove-the-popup.-It-s-not-needed-now.patch b/meta-efl/recipes-efl/e17/e-wm/0001-Revert-Illume-Remove-the-popup.-It-s-not-needed-now.patch new file mode 100644 index 000000000..c4a18d09a --- /dev/null +++ b/meta-efl/recipes-efl/e17/e-wm/0001-Revert-Illume-Remove-the-popup.-It-s-not-needed-now.patch | |||
@@ -0,0 +1,135 @@ | |||
1 | From c7f54838d09cc94dd23ed060889bae780758c391 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Sun, 19 Feb 2012 23:09:07 +0100 | ||
4 | Subject: [PATCH] Revert "Illume: Remove the popup. It's not needed now." | ||
5 | |||
6 | This reverts commit cba0bc9833689900930272fa5c4a2cd2529d3028. | ||
7 | --- | ||
8 | src/modules/illume-indicator/e_mod_ind_win.c | 23 ++++++++++++++++++++--- | ||
9 | src/modules/illume-indicator/e_mod_ind_win.h | 1 + | ||
10 | 2 files changed, 21 insertions(+), 3 deletions(-) | ||
11 | |||
12 | diff --git a/src/modules/illume-indicator/e_mod_ind_win.c b/src/modules/illume-indicator/e_mod_ind_win.c | ||
13 | index d3657d6..4a593fd 100644 | ||
14 | --- a/src/modules/illume-indicator/e_mod_ind_win.c | ||
15 | +++ b/src/modules/illume-indicator/e_mod_ind_win.c | ||
16 | @@ -57,6 +57,11 @@ e_mod_ind_win_new(E_Zone *zone) | ||
17 | /* set this window to not accept or take focus */ | ||
18 | ecore_x_icccm_hints_set(iwin->win->evas_win, 0, 0, 0, 0, 0, 0, 0); | ||
19 | |||
20 | + /* create the popup */ | ||
21 | + iwin->popup = e_popup_new(zone, 0, 0, zone->w, h); | ||
22 | + e_popup_name_set(iwin->popup, "indicator"); | ||
23 | + e_popup_layer_set(iwin->popup, 200); | ||
24 | + | ||
25 | /* create our event rectangle */ | ||
26 | iwin->o_event = evas_object_rectangle_add(iwin->win->evas); | ||
27 | evas_object_color_set(iwin->o_event, 0, 0, 0, 0); | ||
28 | @@ -85,6 +90,8 @@ e_mod_ind_win_new(E_Zone *zone) | ||
29 | evas_object_move(iwin->o_base, 0, 0); | ||
30 | evas_object_show(iwin->o_base); | ||
31 | |||
32 | + e_popup_edje_bg_object_set(iwin->popup, iwin->o_base); | ||
33 | + | ||
34 | /* create our gadget container */ | ||
35 | iwin->gadcon = e_gadcon_swallowed_new("illume-indicator", zone->id, | ||
36 | iwin->o_base, "e.swallow.content"); | ||
37 | @@ -133,12 +140,15 @@ e_mod_ind_win_new(E_Zone *zone) | ||
38 | |||
39 | /* set minimum size of this window & popup */ | ||
40 | e_win_size_min_set(iwin->win, zone->w, h); | ||
41 | + ecore_evas_size_min_set(iwin->popup->ecore_evas, zone->w, h); | ||
42 | |||
43 | /* position and resize this window */ | ||
44 | e_win_move_resize(iwin->win, zone->x, zone->y, zone->w, h); | ||
45 | + e_popup_move_resize(iwin->popup, zone->x, zone->y, zone->w, h); | ||
46 | |||
47 | /* show the window */ | ||
48 | e_win_show(iwin->win); | ||
49 | + e_popup_show(iwin->popup); | ||
50 | |||
51 | /* set this window on proper zone */ | ||
52 | e_border_zone_set(iwin->win->border, zone); | ||
53 | @@ -188,6 +198,9 @@ _e_mod_ind_win_cb_free(Ind_Win *iwin) | ||
54 | /* tell conformant apps our position and size */ | ||
55 | ecore_x_e_illume_indicator_geometry_set(iwin->zone->black_win, 0, 0, 0, 0); | ||
56 | |||
57 | + if (iwin->popup) e_object_del(E_OBJECT(iwin->popup)); | ||
58 | + iwin->popup = NULL; | ||
59 | + | ||
60 | /* delete the window */ | ||
61 | if (iwin->win) e_object_del(E_OBJECT(iwin->win)); | ||
62 | iwin->win = NULL; | ||
63 | @@ -214,6 +227,7 @@ _e_mod_ind_win_cb_win_prop(void *data, int type __UNUSED__, void *event) | ||
64 | |||
65 | /* set minimum size of this window */ | ||
66 | e_win_size_min_set(iwin->win, iwin->zone->w, h); | ||
67 | + ecore_evas_size_min_set(iwin->popup->ecore_evas, iwin->zone->w, h); | ||
68 | |||
69 | /* NB: Not sure why, but we need to tell this border to fetch icccm | ||
70 | * size position hints now :( (NOTE: This was not needed a few days ago) | ||
71 | @@ -222,6 +236,7 @@ _e_mod_ind_win_cb_win_prop(void *data, int type __UNUSED__, void *event) | ||
72 | |||
73 | /* resize this window */ | ||
74 | e_win_resize(iwin->win, iwin->zone->w, h); | ||
75 | + e_popup_resize(iwin->popup, iwin->zone->w, h); | ||
76 | |||
77 | /* tell conformant apps our position and size */ | ||
78 | ecore_x_e_illume_indicator_geometry_set(iwin->zone->black_win, | ||
79 | @@ -246,6 +261,7 @@ _e_mod_ind_win_cb_zone_resize(void *data, int type __UNUSED__, void *event) | ||
80 | |||
81 | /* set minimum size of this window to match zone size */ | ||
82 | e_win_size_min_set(iwin->win, ev->zone->w, h); | ||
83 | + ecore_evas_size_min_set(iwin->popup->ecore_evas, ev->zone->w, h); | ||
84 | |||
85 | return ECORE_CALLBACK_PASS_ON; | ||
86 | } | ||
87 | @@ -256,6 +272,7 @@ _e_mod_ind_win_cb_resize(E_Win *win) | ||
88 | Ind_Win *iwin; | ||
89 | |||
90 | if (!(iwin = win->data)) return; | ||
91 | + if (iwin->popup) e_popup_resize(iwin->popup, win->w, win->h); | ||
92 | if (iwin->o_event) evas_object_resize(iwin->o_event, win->w, win->h); | ||
93 | if (iwin->o_base) evas_object_resize(iwin->o_base, win->w, win->h); | ||
94 | if (iwin->gadcon->o_container) | ||
95 | @@ -427,7 +444,7 @@ _e_mod_ind_win_cb_mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj | ||
96 | bd->y = ny; | ||
97 | bd->changes.pos = 1; | ||
98 | bd->changed = 1; | ||
99 | - e_win_move(iwin->win, iwin->win->x, ny); | ||
100 | + e_popup_move(iwin->popup, iwin->popup->x, ny); | ||
101 | } | ||
102 | } | ||
103 | } | ||
104 | @@ -553,7 +570,7 @@ _e_mod_ind_win_cb_border_hide(void *data, int type __UNUSED__, void *event) | ||
105 | if (!(iwin = data)) return ECORE_CALLBACK_PASS_ON; | ||
106 | ev = event; | ||
107 | if (ev->border != iwin->win->border) return ECORE_CALLBACK_PASS_ON; | ||
108 | - e_win_hide(iwin->win); | ||
109 | + e_popup_hide(iwin->popup); | ||
110 | return ECORE_CALLBACK_PASS_ON; | ||
111 | } | ||
112 | |||
113 | @@ -566,6 +583,6 @@ _e_mod_ind_win_cb_border_show(void *data, int type __UNUSED__, void *event) | ||
114 | if (!(iwin = data)) return ECORE_CALLBACK_PASS_ON; | ||
115 | ev = event; | ||
116 | if (ev->border != iwin->win->border) return ECORE_CALLBACK_PASS_ON; | ||
117 | - e_win_show(iwin->win); | ||
118 | + e_popup_show(iwin->popup); | ||
119 | return ECORE_CALLBACK_PASS_ON; | ||
120 | } | ||
121 | diff --git a/src/modules/illume-indicator/e_mod_ind_win.h b/src/modules/illume-indicator/e_mod_ind_win.h | ||
122 | index aa2dd1c..d41a861 100644 | ||
123 | --- a/src/modules/illume-indicator/e_mod_ind_win.h | ||
124 | +++ b/src/modules/illume-indicator/e_mod_ind_win.h | ||
125 | @@ -14,6 +14,7 @@ struct _Ind_Win | ||
126 | Eina_List *hdls; | ||
127 | |||
128 | E_Win *win; | ||
129 | + E_Popup *popup; | ||
130 | Evas_Object *o_base, *o_event; | ||
131 | E_Gadcon *gadcon; | ||
132 | E_Menu *menu; | ||
133 | -- | ||
134 | 1.7.8.4 | ||
135 | |||
diff --git a/meta-efl/recipes-efl/e17/e-wm_svn.bb b/meta-efl/recipes-efl/e17/e-wm_svn.bb index e9319670c..25aa865b9 100644 --- a/meta-efl/recipes-efl/e17/e-wm_svn.bb +++ b/meta-efl/recipes-efl/e17/e-wm_svn.bb | |||
@@ -4,7 +4,7 @@ LICENSE = "MIT BSD" | |||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=2667a0f4120372ea91f7467cdff4095f" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=2667a0f4120372ea91f7467cdff4095f" |
5 | SRCNAME = "e" | 5 | SRCNAME = "e" |
6 | PV = "0.16.999.060+svnr${SRCPV}" | 6 | PV = "0.16.999.060+svnr${SRCPV}" |
7 | PR = "r23" | 7 | PR = "r24" |
8 | SRCREV = "${EFL_SRCREV}" | 8 | SRCREV = "${EFL_SRCREV}" |
9 | 9 | ||
10 | inherit e update-alternatives gettext | 10 | inherit e update-alternatives gettext |
@@ -12,6 +12,7 @@ S = "${WORKDIR}/${SRCNAME}" | |||
12 | 12 | ||
13 | SRC_URI = "\ | 13 | SRC_URI = "\ |
14 | ${E_SVN}/trunk;module=${SRCNAME};proto=http \ | 14 | ${E_SVN}/trunk;module=${SRCNAME};proto=http \ |
15 | file://0001-Revert-Illume-Remove-the-popup.-It-s-not-needed-now.patch \ | ||
15 | file://enlightenment_start.oe \ | 16 | file://enlightenment_start.oe \ |
16 | file://applications.menu \ | 17 | file://applications.menu \ |
17 | " | 18 | " |