backport previous internal dialog redraw fix
SVN revision: 82536
This commit is contained in:
parent
4fc258e760
commit
e69c53fc50
|
@ -1,3 +1,7 @@
|
|||
2013-01-10 Mike Blumenkrantz
|
||||
|
||||
* fixed bug where internal dialogs would not redraw after unfullscreening
|
||||
|
||||
2013-01-10 Deon Thomas
|
||||
|
||||
* Fixed bug with desktop config profile where conf module version variable was misnamed
|
||||
|
|
1
NEWS
1
NEWS
|
@ -26,3 +26,4 @@ Fixes:
|
|||
* Tasks gadgets now apply the selected style
|
||||
* fixed bug where window border insets were not applied to initial positioning geometry, causing them to be placed incorrectly
|
||||
* Fixed bug with desktop config profile where conf module version variable was misnamed
|
||||
* fixed bug where internal dialogs would not redraw after unfullscreening
|
||||
|
|
|
@ -3159,10 +3159,10 @@ e_border_unfullscreen(E_Border *bd)
|
|||
screen_size.width = -1;
|
||||
screen_size.height = -1;
|
||||
}
|
||||
e_border_move_resize(bd,
|
||||
bd->saved.x + bd->zone->x,
|
||||
bd->saved.y + bd->zone->y,
|
||||
bd->saved.w, bd->saved.h);
|
||||
_e_border_move_resize_internal(bd,
|
||||
bd->zone->x + bd->saved.x,
|
||||
bd->zone->y + bd->saved.y,
|
||||
bd->saved.w, bd->saved.h, 0, 1);
|
||||
|
||||
if (bd->saved.maximized)
|
||||
e_border_maximize(bd, (e_config->maximize_policy & E_MAXIMIZE_TYPE) |
|
||||
|
@ -7234,7 +7234,7 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->changes.border = 0;
|
||||
|
||||
/* fetch any info queued to be fetched */
|
||||
if (bd->client.netwm.fetch.state)
|
||||
if (bd->changes.prop || bd->client.netwm.fetch.state)
|
||||
{
|
||||
e_hints_window_state_get(bd);
|
||||
bd->client.netwm.fetch.state = 0;
|
||||
|
@ -7337,13 +7337,13 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->changes.icon = 1;
|
||||
rem_change = 1;
|
||||
}
|
||||
if (bd->client.icccm.fetch.state)
|
||||
if (bd->changes.prop || bd->client.icccm.fetch.state)
|
||||
{
|
||||
bd->client.icccm.state = ecore_x_icccm_state_get(bd->client.win);
|
||||
bd->client.icccm.fetch.state = 0;
|
||||
rem_change = 1;
|
||||
}
|
||||
if (bd->client.e.fetch.state)
|
||||
if (bd->changes.prop || bd->client.e.fetch.state)
|
||||
{
|
||||
e_hints_window_e_state_get(bd);
|
||||
bd->client.e.fetch.state = 0;
|
||||
|
@ -7412,7 +7412,7 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->client.e.fetch.profile = 0;
|
||||
}
|
||||
#endif
|
||||
if (bd->client.netwm.fetch.type)
|
||||
if (bd->changes.prop || bd->client.netwm.fetch.type)
|
||||
{
|
||||
e_hints_window_type_get(bd);
|
||||
if ((!bd->lock_border) || (!bd->client.border.name))
|
||||
|
@ -7469,7 +7469,7 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->client.icccm.fetch.command = 0;
|
||||
rem_change = 1;
|
||||
}
|
||||
if (bd->client.icccm.fetch.hints)
|
||||
if (bd->changes.prop || bd->client.icccm.fetch.hints)
|
||||
{
|
||||
Eina_Bool accepts_focus, is_urgent;
|
||||
|
||||
|
@ -7501,7 +7501,7 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->client.icccm.fetch.hints = 0;
|
||||
rem_change = 1;
|
||||
}
|
||||
if (bd->client.icccm.fetch.size_pos_hints)
|
||||
if (bd->changes.prop || bd->client.icccm.fetch.size_pos_hints)
|
||||
{
|
||||
Eina_Bool request_pos;
|
||||
|
||||
|
@ -7913,7 +7913,7 @@ _e_border_eval0(E_Border *bd)
|
|||
}
|
||||
bd->need_shape_merge = 1;
|
||||
}
|
||||
if (bd->client.mwm.fetch.hints)
|
||||
if (bd->changes.prop || bd->client.mwm.fetch.hints)
|
||||
{
|
||||
int pb;
|
||||
|
||||
|
@ -7996,7 +7996,7 @@ _e_border_eval0(E_Border *bd)
|
|||
|
||||
fprintf(stderr, "internal position has been updated [%i, %i]\n", bd->client.e.state.video_position.x, bd->client.e.state.video_position.y);
|
||||
}
|
||||
if (bd->client.netwm.update.state)
|
||||
if (bd->changes.prop || bd->client.netwm.update.state)
|
||||
{
|
||||
e_hints_window_state_set(bd);
|
||||
/* Some stats might change the border, like modal */
|
||||
|
@ -8401,6 +8401,7 @@ _e_border_eval0(E_Border *bd)
|
|||
bd->client.border.changed = 0;
|
||||
}
|
||||
|
||||
bd->changes.prop = 0;
|
||||
if (rem_change) e_remember_update(bd);
|
||||
|
||||
if (change_urgent)
|
||||
|
@ -9147,7 +9148,6 @@ _e_border_eval(E_Border *bd)
|
|||
bd->new_client = 0;
|
||||
bd->changed = 0;
|
||||
bd->changes.stack = 0;
|
||||
bd->changes.prop = 0;
|
||||
|
||||
if ((bd->take_focus) || (bd->want_focus))
|
||||
{
|
||||
|
|
|
@ -8,6 +8,7 @@ static void _e_win_state_update(E_Win *win);
|
|||
static void _e_win_cb_move(Ecore_Evas *ee);
|
||||
static void _e_win_cb_resize(Ecore_Evas *ee);
|
||||
static void _e_win_cb_delete(Ecore_Evas *ee);
|
||||
static void _e_win_cb_state(Ecore_Evas *ee);
|
||||
|
||||
/* local subsystem globals */
|
||||
static Eina_List *wins = NULL;
|
||||
|
@ -225,6 +226,7 @@ e_win_new(E_Container *con)
|
|||
ecore_evas_callback_move_set(win->ecore_evas, _e_win_cb_move);
|
||||
ecore_evas_callback_resize_set(win->ecore_evas, _e_win_cb_resize);
|
||||
ecore_evas_callback_delete_request_set(win->ecore_evas, _e_win_cb_delete);
|
||||
ecore_evas_callback_state_change_set(win->ecore_evas, _e_win_cb_state);
|
||||
win->evas = ecore_evas_get(win->ecore_evas);
|
||||
ecore_evas_name_class_set(win->ecore_evas, "E", "_e_internal_window");
|
||||
ecore_evas_title_set(win->ecore_evas, "E");
|
||||
|
@ -698,3 +700,13 @@ _e_win_cb_delete(Ecore_Evas *ee)
|
|||
if (win->cb_delete) win->cb_delete(win);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_win_cb_state(Ecore_Evas *ee)
|
||||
{
|
||||
E_Win *win;
|
||||
|
||||
win = ecore_evas_data_get(ee, "E_Win");
|
||||
if (!win) return;
|
||||
if (!win->border) return;
|
||||
win->border->changed = win->border->changes.size = 1;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue