speed things up a little more

SVN revision: 14961
This commit is contained in:
Carsten Haitzler 2005-05-26 15:30:10 +00:00
parent 4c7b29de44
commit 5efe075ba2
5 changed files with 55 additions and 1 deletions

View File

@ -810,6 +810,50 @@ e_container_border_list_free(E_Border_List *list)
free(list);
}
void
e_container_all_freeze(void)
{
Evas_List *managers, *l;
managers = e_manager_list();
for (l = managers; l; l = l->next)
{
Evas_List *ll;
E_Manager *man;
man = l->data;
for (ll = man->containers; ll; ll = ll->next)
{
E_Container *con;
con = ll->data;
evas_event_freeze(con->bg_evas);
}
}
}
void
e_container_all_thaw(void)
{
Evas_List *managers, *l;
managers = e_manager_list();
for (l = managers; l; l = l->next)
{
Evas_List *ll;
E_Manager *man;
man = l->data;
for (ll = man->containers; ll; ll = ll->next)
{
E_Container *con;
con = ll->data;
evas_event_thaw(con->bg_evas);
}
}
}
/* local subsystem functions */
static void
_e_container_free(E_Container *con)

View File

@ -133,6 +133,9 @@ EAPI void e_container_border_lower(E_Border *bd);
EAPI void e_container_border_stack_above(E_Border *bd, E_Border *above);
EAPI void e_container_border_stack_below(E_Border *bd, E_Border *below);
EAPI void e_container_all_freeze(void);
EAPI void e_container_all_thaw(void);
extern EAPI int E_EVENT_CONTAINER_RESIZE;
#endif

View File

@ -352,6 +352,9 @@ main(int argc, char **argv)
"failed. Perhaps another window manager is running?\n"));
_e_main_shutdown(-1);
}
e_container_all_freeze();
_e_main_shutdown_push(_e_main_screens_shutdown);
/* init app system */
if (!e_app_init())
@ -441,6 +444,8 @@ main(int argc, char **argv)
ecore_timer_add(16.0, _e_main_cb_startup_fake_end, NULL);
}
e_container_all_thaw();
/* run any testing code now we are set up */
e_test();

View File

@ -1136,6 +1136,7 @@ _e_menu_realize(E_Menu *m)
ecore_evas_callback_resize_set(m->ecore_evas, _e_menu_cb_ecore_evas_resize);
m->evas = ecore_evas_get(m->ecore_evas);
evas_event_freeze(m->evas);
/* move cursor out to avoid event cycles during setup */
evas_event_feed_mouse_in(m->evas, NULL);
evas_event_feed_mouse_move(m->evas, -1000000, -1000000, NULL);
@ -1190,6 +1191,7 @@ _e_menu_realize(E_Menu *m)
_e_menu_items_layout_update(m);
e_box_thaw(o);
evas_object_resize(m->bg_object, m->cur.w, m->cur.h);
evas_event_thaw(m->evas);
}
static void

View File

@ -170,7 +170,7 @@ _cb_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change)
break;
}
}
#elif 0
#elif 1
static int
_e_test_timer(void *data)
{