further fixes to screensaver/banking with window states like fullscreen

this is a further fix for T5464 to actually make the intended option
work at all. what was there was broken. now it works. init order was
wrong - screensaver was relying on event id's from e_client socde that
were not initted yet AND the handlers didnt account for "dont blank
when fullscreen window is there" at all. @fix
This commit is contained in:
Carsten Haitzler 2017-05-07 14:33:05 +09:00 committed by Mike Blumenkrantz
parent 5730203d60
commit a0322f4b00
2 changed files with 9 additions and 8 deletions

View File

@ -703,14 +703,6 @@ main(int argc, char **argv)
if (e_config->show_splash)
e_init_status_set(_("Setup Screensaver"));
TS("E_Screensaver Init");
if (!e_screensaver_init())
{
e_error_message_show(_("Enlightenment cannot configure the X screensaver.\n"));
_e_main_shutdown(-1);
}
TS("E_Screensaver Init Done");
_e_main_shutdown_push(e_screensaver_shutdown);
if (e_config->show_splash)
e_init_status_set(_("Setup Screens"));
@ -1603,6 +1595,8 @@ _e_main_screens_init(void)
{
TS("\tscreens: client");
if (!e_client_init()) return 0;
TS("E_Screensaver Init");
if (!e_screensaver_init()) return 0;
TS("\tscreens: win");
if (!e_win_init()) return 0;
TS("Compositor Init");
@ -1637,6 +1631,7 @@ _e_main_screens_shutdown(void)
e_menu_shutdown();
e_shelf_shutdown();
e_comp_shutdown();
e_screensaver_shutdown();
e_client_shutdown();
e_exehist_shutdown();
e_backlight_shutdown();

View File

@ -75,6 +75,12 @@ e_screensaver_update(void)
Eina_Bool changed = EINA_FALSE;
timeout = e_screensaver_timeout_get(EINA_TRUE);
if (!((e_config->screensaver_enable) &&
(!e_config->mode.presentation) &&
(!((e_util_fullscreen_current_any()) &&
(e_config->no_dpms_on_fullscreen)))))
timeout = 0;
if (_e_screensaver_timeout != timeout)
{
_e_screensaver_timeout = timeout;