forked from enlightenment/efl
ecore_x - vsync nvidia/glx service fix so it connects 1st not 2nd time
This commit is contained in:
parent
570c1f9692
commit
6e7b42111f
|
@ -398,7 +398,7 @@ _glvsync_animator_tick_source_set(void)
|
||||||
{
|
{
|
||||||
if (!vsync_server)
|
if (!vsync_server)
|
||||||
{
|
{
|
||||||
char buf[4096], *disp, *s;
|
char buf[4096], run[4096], *disp, *s;
|
||||||
int tries = 0;
|
int tries = 0;
|
||||||
|
|
||||||
if (!handlers)
|
if (!handlers)
|
||||||
|
@ -417,15 +417,18 @@ _glvsync_animator_tick_source_set(void)
|
||||||
if (*s == ':') *s = '=';
|
if (*s == ':') *s = '=';
|
||||||
}
|
}
|
||||||
vsync_server = ecore_con_server_connect(ECORE_CON_LOCAL_USER, buf, 1, NULL);
|
vsync_server = ecore_con_server_connect(ECORE_CON_LOCAL_USER, buf, 1, NULL);
|
||||||
|
if (!vsync_server)
|
||||||
|
{
|
||||||
|
snprintf(run, sizeof(run), "%s/ecore_x/bin/%s/ecore_x_vsync",
|
||||||
|
eina_prefix_lib_get(_prefix), MODULE_ARCH);
|
||||||
|
ecore_exe_run(run, NULL);
|
||||||
|
}
|
||||||
while (!vsync_server)
|
while (!vsync_server)
|
||||||
{
|
{
|
||||||
tries++;
|
tries++;
|
||||||
if (tries > 50) return EINA_FALSE;
|
if (tries > 50) return EINA_FALSE;
|
||||||
snprintf(buf, sizeof(buf), "%s/ecore_x/bin/%s/ecore_x_vsync",
|
|
||||||
eina_prefix_lib_get(_prefix), MODULE_ARCH);
|
|
||||||
ecore_exe_run(buf, NULL);
|
|
||||||
usleep(10000);
|
usleep(10000);
|
||||||
vsync_server = ecore_con_server_connect(ECORE_CON_LOCAL_USER, buf, 0, NULL);
|
vsync_server = ecore_con_server_connect(ECORE_CON_LOCAL_USER, buf, 1, NULL);
|
||||||
}
|
}
|
||||||
if (!handlers)
|
if (!handlers)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue