SVN revision: 23510
This commit is contained in:
Carsten Haitzler 2006-06-20 13:10:08 +00:00
parent 3ba389111b
commit 706c846e92
4 changed files with 28 additions and 19 deletions

6
TODO
View File

@ -12,18 +12,12 @@ Some of the things (in very short form) that need to be done to E17...
doesn't have any effect. doesn't have any effect.
* BUG: menu for gadgets while up and if it changes apearance will segv because * BUG: menu for gadgets while up and if it changes apearance will segv because
its reference to the gcc is wrong as the gcc was destroyed and re-created its reference to the gcc is wrong as the gcc was destroyed and re-created
* BUG: if mouse is already grabbed when exebuf or winlist are activated - all
shit hits the fan after that (box can't be dismissed, keyboard grab fails
etc. etc.)
* BUG: set any specific border type and when you maximize the border changes * BUG: set any specific border type and when you maximize the border changes
to default (unless its borderless) to default (unless its borderless)
* BUG: change exe name in basic mode in eap editor and icon vanishes (don't * BUG: change exe name in basic mode in eap editor and icon vanishes (don't
extract existing icon and write out to tmp .png while rebuilding). extract existing icon and write out to tmp .png while rebuilding).
* BUG: resolution (xrandr) changes seem to screw the shelf up a bit.
* BUG: ghost windows happen if windows close when on another desktop or if * BUG: ghost windows happen if windows close when on another desktop or if
windows are very short-lived windows are very short-lived
* BUG: openoffice 2's impress presentation fullscreen has sizing and
configuration issues.
* BUG: openoffice 2 when displaying a presentation with xinerama (multiple * BUG: openoffice 2 when displaying a presentation with xinerama (multiple
zones) weird things happen (the presentation doesnt display - it seemingly zones) weird things happen (the presentation doesnt display - it seemingly
attaches to the 2nd zone, not the first), crashes have been reported too. attaches to the 2nd zone, not the first), crashes have been reported too.

View File

@ -137,7 +137,12 @@ e_exebuf_show(E_Zone *zone)
input_window = ecore_x_window_input_new(zone->container->win, 0, 0, 1, 1); input_window = ecore_x_window_input_new(zone->container->win, 0, 0, 1, 1);
ecore_x_window_show(input_window); ecore_x_window_show(input_window);
e_grabinput_get(input_window, 0, input_window); if (!e_grabinput_get(input_window, 0, input_window))
{
ecore_x_window_del(input_window);
input_window = 0;
return 0;
}
x = zone->x + 20; x = zone->x + 20;
y = zone->y + 20 + ((zone->h - 20 - 20 - 20) / 2); y = zone->y + 20 + ((zone->h - 20 - 20 - 20) / 2);

View File

@ -1667,7 +1667,12 @@ _e_menu_activate_internal(E_Menu *m, E_Zone *zone)
zone->x, zone->y, zone->x, zone->y,
zone->w, zone->h); zone->w, zone->h);
ecore_x_window_show(_e_menu_win); ecore_x_window_show(_e_menu_win);
e_grabinput_get(_e_menu_win, 1, _e_menu_win); if (!e_grabinput_get(_e_menu_win, 1, _e_menu_win))
{
ecore_x_window_del(_e_menu_win);
_e_menu_win = 0;
return;
}
} }
if ((m->zone) && (m->zone->container != zone->container)) if ((m->zone) && (m->zone->container != zone->container))
{ {
@ -1691,16 +1696,16 @@ _e_menu_activate_internal(E_Menu *m, E_Zone *zone)
} }
/* the foreign menu items */ /* the foreign menu items */
cat = evas_hash_find(_e_menu_categories, m->category); cat = evas_hash_find(_e_menu_categories, m->category);
if(cat) if (cat)
{ {
for(l = cat->callbacks; l; l = l->next) for (l = cat->callbacks; l; l = l->next)
{ {
E_Menu_Category_Callback *cb; E_Menu_Category_Callback *cb;
cb = l->data; cb = l->data;
if(cb->create) cb->create(m, cat->data, cb->data); if (cb->create) cb->create(m, cat->data, cb->data);
} }
} }
m->cur.visible = 1; m->cur.visible = 1;
m->zone = zone; m->zone = zone;
} }

View File

@ -86,7 +86,12 @@ e_winlist_show(E_Zone *zone)
input_window = ecore_x_window_input_new(zone->container->win, 0, 0, 1, 1); input_window = ecore_x_window_input_new(zone->container->win, 0, 0, 1, 1);
ecore_x_window_show(input_window); ecore_x_window_show(input_window);
e_grabinput_get(input_window, 0, input_window); if (!e_grabinput_get(input_window, 0, input_window))
{
ecore_x_window_del(input_window);
input_window = 0;
return 0;
}
w = (double)zone->w * e_config->winlist_pos_size_w; w = (double)zone->w * e_config->winlist_pos_size_w;
if (w > e_config->winlist_pos_max_w) w = e_config->winlist_pos_max_w; if (w > e_config->winlist_pos_max_w) w = e_config->winlist_pos_max_w;