wl x11 - if managed stop randr from doing its thing as it conflicts

randr goes and resizes the e window to mach screen setup - wrong if
managed., so if managed call the new stop which shuts down randr

@fix
This commit is contained in:
Carsten Haitzler 2020-11-10 11:17:59 +00:00
parent 6ff9b5545f
commit a9a877feca
3 changed files with 14 additions and 1 deletions

View File

@ -34,6 +34,7 @@ static Eina_List *_ev_handlers = NULL;
static Ecore_Timer *_screen_delay_timer = NULL;
static Eina_Bool event_screen = EINA_FALSE;
static Eina_Bool event_ignore = EINA_FALSE;
static Eina_Bool initted = EINA_FALSE;
/////////////////////////////////////////////////////////////////////////
E_API E_Config_Randr2 *e_randr2_cfg = NULL;
@ -55,6 +56,7 @@ e_randr2_init(void)
if (!E_EVENT_RANDR_CHANGE) E_EVENT_RANDR_CHANGE = ecore_event_type_new();
if ((!e_comp->screen) || (!e_comp->screen->available) || (!e_comp->screen->available())) return EINA_FALSE;
initted = EINA_TRUE;
// create data descriptors for config storage
_e_randr2_cfg_screen_edd =
E_CONFIG_DD_NEW("E_Config_Randr2_Screen", E_Config_Randr2_Screen);
@ -123,6 +125,8 @@ e_randr2_init(void)
EINTERN int
e_randr2_shutdown(void)
{
if (!initted) return 0;
initted = EINA_FALSE;
_animated_apply_abort();
// nuke any screen config delay handler
if (_screen_delay_timer) ecore_timer_del(_screen_delay_timer);
@ -143,6 +147,12 @@ e_randr2_shutdown(void)
return 1;
}
E_API void
e_randr2_stop(void)
{
e_randr2_shutdown();
}
E_API Eina_Bool
e_randr2_config_save(void)
{

View File

@ -132,6 +132,8 @@ extern E_API int E_EVENT_RANDR_CHANGE;
EINTERN Eina_Bool e_randr2_init(void);
EINTERN int e_randr2_shutdown(void);
E_API void e_randr2_stop(void);
E_API Eina_Bool e_randr2_config_save(void);
E_API void e_randr2_config_apply(void);
E_API void e_randr2_screeninfo_update(void);
@ -141,6 +143,6 @@ E_API E_Config_Randr2_Screen *e_randr2_config_screen_find(E_Randr2_Screen *s, E_
E_API void e_randr2_screens_setup(int rw, int rh);
E_API E_Randr2_Screen *e_randr2_screen_id_find(const char *id);
E_API double e_randr2_screen_dpi_get(E_Randr2_Screen *s);
E_API void e_randr2_screen_modes_sort(E_Randr2_Screen *s);
E_API void e_randr2_screen_modes_sort(E_Randr2_Screen *s);
#endif
#endif

View File

@ -66,6 +66,7 @@ e_modapi_init(E_Module *m)
e_comp_wl->dmabuf_disable = EINA_TRUE;
if (managed) e_randr2_stop();
return m;
}