and dialogs work again

SVN revision: 21093
This commit is contained in:
Carsten Haitzler 2006-03-08 08:54:43 +00:00
parent f1178a9ce4
commit 826dc4b4dc
6 changed files with 13 additions and 12 deletions

2
TODO
View File

@ -8,6 +8,8 @@ Some of the things (in very short form) that need to be done to E17...
BUGS / FIXES
-------------------------------------------------------------------------------
* BUG: k3b has minimization issues when burning cd's (it tries to unminimize
its window and this doesn't work)
* BUG: openoffice 2 when ddisplaying a presentation with xinerama (multiple
zones) weird things happen (the presentation doesnt display - it seemingly
attaches to the 2nd zone, not the first), crashes have been reported too.

View File

@ -199,7 +199,7 @@ e_border_shutdown(void)
}
EAPI E_Border *
e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal)
{
E_Border *bd;
Ecore_X_Window_Attributes *att;
@ -228,7 +228,7 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map)
ecore_evas_title_set(bd->bg_ecore_evas, "Enlightenment Frame");
bd->client.shell_win = ecore_x_window_override_new(bd->win, 0, 0, 1, 1);
ecore_x_window_container_manage(bd->client.shell_win);
ecore_x_window_client_manage(win);
if (!internal) ecore_x_window_client_manage(win);
/* FIXME: Round trip. XCB */
/* fetch needed to avoid grabbing the server as window may vanish */
att = &bd->client.initial_attributes;
@ -1195,9 +1195,7 @@ e_border_focus_set(E_Border *bd, int focus, int set)
if (bd->focused)
{
if (bd->internal)
{
e_grabinput_focus(bd->win, E_FOCUS_METHOD_PASSIVE);
}
e_grabinput_focus(bd->client.win, E_FOCUS_METHOD_PASSIVE);
else
{
if ((!bd->client.icccm.accepts_focus) &&

View File

@ -487,7 +487,7 @@ struct _E_Event_Border_Icon_Change
EAPI int e_border_init(void);
EAPI int e_border_shutdown(void);
EAPI E_Border *e_border_new(E_Container *con, Ecore_X_Window win, int first_map);
EAPI E_Border *e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal);
EAPI void e_border_free(E_Border *bd);
EAPI void e_border_ref(E_Border *bd);
EAPI void e_border_unref(E_Border *bd);

View File

@ -244,7 +244,7 @@ e_manager_manage_windows(E_Manager *man)
deskxy[1]);
{
bd = e_border_new(con, windows[i], 1);
bd = e_border_new(con, windows[i], 1, 0);
if (bd)
{
/* FIXME:
@ -263,7 +263,7 @@ e_manager_manage_windows(E_Manager *man)
E_Container *con;
E_Border *bd;
con = e_container_current_get(man);
bd = e_border_new(con, windows[i], 1);
bd = e_border_new(con, windows[i], 1, 0);
if (bd)
e_border_show(bd);
}
@ -535,7 +535,7 @@ _e_manager_cb_window_show_request(void *data, int ev_type __UNUSED__, void *ev)
con = e_container_current_get(man);
if (!e_border_find_by_client_window(e->win))
{
bd = e_border_new(con, e->win, 0);
bd = e_border_new(con, e->win, 0, 0);
if (!bd)
ecore_x_window_show(e->win);
}

View File

@ -46,7 +46,7 @@ e_win_new(E_Container *con)
win->engine = e_canvas_engine_decide(e_config->evas_engine_win);
win->ecore_evas = e_canvas_new(e_config->evas_engine_win, con->manager->root,
0, 0, 1, 1, 1, 0,
&(win->evas_win), &(win->evas_sub_win));
&(win->evas_win), NULL);
e_canvas_add(win->ecore_evas);
ecore_evas_data_set(win->ecore_evas, "E_Win", win);
ecore_evas_callback_move_set(win->ecore_evas, _e_win_cb_move);
@ -83,11 +83,12 @@ e_win_show(E_Win *win)
{
_e_win_prop_update(win);
ecore_evas_lower(win->ecore_evas);
win->border = e_border_new(win->container, win->evas_win, 1);
win->border = e_border_new(win->container, win->evas_win, 1, 1);
if (!win->placed)
win->border->re_manage = 0;
win->border->internal = 1;
win->border->internal_ecore_evas = win->ecore_evas;
/*
if (win->engine == E_EVAS_ENGINE_GL_X11)
{
ecore_evas_gl_x11_extra_event_window_add(win->ecore_evas, win->border->win);
@ -103,6 +104,7 @@ e_win_show(E_Win *win)
ecore_evas_software_x11_extra_event_window_add(win->ecore_evas, win->border->win);
ecore_evas_software_x11_extra_event_window_add(win->ecore_evas, win->border->event_win);
}
*/
}
_e_win_prop_update(win);
e_border_show(win->border);

View File

@ -22,7 +22,6 @@ struct _E_Win
Ecore_Evas *ecore_evas;
Evas *evas;
Ecore_X_Window evas_win;
Ecore_X_Window evas_sub_win;
unsigned char placed : 1;
int min_w, min_h, max_w, max_h, base_w, base_h;
int step_x, step_y;