forked from enlightenment/enlightenment
revert stringshare changes by zmike - they break xsettings support. it
works again now i revert these. SVN revision: 74625
This commit is contained in:
parent
ffdf9b4b8a
commit
dc4d2d73c8
|
@ -52,10 +52,10 @@ static Eio_File *eio_op = NULL;
|
|||
static Eina_Bool setting = EINA_FALSE;
|
||||
static Eina_Bool reset = EINA_FALSE;
|
||||
static Ecore_Idle_Enterer *xsettings_idler = NULL;
|
||||
static const char *_setting_icon_theme_name = NULL;
|
||||
static const char *_setting_theme_name = NULL;
|
||||
static const char *_setting_font_name = NULL;
|
||||
static const char *_setting_xft_dpi = NULL;
|
||||
static const char _setting_icon_theme_name[] = "Net/IconThemeName";
|
||||
static const char _setting_theme_name[] = "Net/ThemeName";
|
||||
static const char _setting_font_name[] = "Gtk/FontName";
|
||||
static const char _setting_xft_dpi[] = "Xft/DPI";
|
||||
static char *_setting_theme = NULL;
|
||||
static void _e_xsettings_done_cb(void *data, Eio_File *handler, const Eina_Stat *stat);
|
||||
|
||||
|
@ -166,6 +166,9 @@ _e_xsettings_string_set(const char *name, const char *value)
|
|||
Eina_List *l;
|
||||
|
||||
if (!name) return;
|
||||
if (name == _setting_theme_name)
|
||||
e_config->xsettings.net_theme_name_detected = value;
|
||||
name = eina_stringshare_add(name);
|
||||
|
||||
EINA_LIST_FOREACH(settings, l, s)
|
||||
{
|
||||
|
@ -175,27 +178,29 @@ _e_xsettings_string_set(const char *name, const char *value)
|
|||
if (!value)
|
||||
{
|
||||
if (!s) return;
|
||||
DBG("remove %s", name);
|
||||
DBG("remove %s\n", name);
|
||||
eina_stringshare_del(name);
|
||||
eina_stringshare_del(s->name);
|
||||
eina_stringshare_del(s->s.value);
|
||||
settings = eina_list_remove(settings, s);
|
||||
E_FREE(s);
|
||||
if (name == _setting_theme_name)
|
||||
e_config->xsettings.net_theme_name_detected = value;
|
||||
return;
|
||||
}
|
||||
if (!s)
|
||||
if (s)
|
||||
{
|
||||
DBG("add %s %s", name, value);
|
||||
DBG("update %s %s\n", name, value);
|
||||
eina_stringshare_del(name);
|
||||
eina_stringshare_replace(&s->s.value, value);
|
||||
}
|
||||
else
|
||||
{
|
||||
DBG("add %s %s\n", name, value);
|
||||
s = E_NEW(Setting, 1);
|
||||
s->type = SETTING_TYPE_STRING;
|
||||
s->name = name;
|
||||
s->s.value = eina_stringshare_add(value);
|
||||
settings = eina_list_append(settings, s);
|
||||
}
|
||||
else
|
||||
DBG("update %s %s", name, value);
|
||||
eina_stringshare_replace(&s->s.value, value);
|
||||
if (name == _setting_theme_name)
|
||||
e_config->xsettings.net_theme_name_detected = s->s.value;
|
||||
|
||||
/* type + pad + name-len + last-change-serial + str_len */
|
||||
s->length = 12;
|
||||
|
@ -212,6 +217,7 @@ _e_xsettings_int_set(const char *name, int value, Eina_Bool set)
|
|||
Eina_List *l;
|
||||
|
||||
if (!name) return;
|
||||
name = eina_stringshare_add(name);
|
||||
|
||||
EINA_LIST_FOREACH(settings, l, s)
|
||||
{
|
||||
|
@ -222,6 +228,8 @@ _e_xsettings_int_set(const char *name, int value, Eina_Bool set)
|
|||
{
|
||||
if (!s) return;
|
||||
DBG("remove %s\n", name);
|
||||
eina_stringshare_del(name);
|
||||
eina_stringshare_del(s->name);
|
||||
settings = eina_list_remove(settings, s);
|
||||
E_FREE(s);
|
||||
return;
|
||||
|
@ -229,6 +237,7 @@ _e_xsettings_int_set(const char *name, int value, Eina_Bool set)
|
|||
if (s)
|
||||
{
|
||||
DBG("update %s %d\n", name, value);
|
||||
eina_stringshare_del(name);
|
||||
s->i.value = value;
|
||||
}
|
||||
else
|
||||
|
@ -603,6 +612,7 @@ _e_xsettings_stop(void)
|
|||
|
||||
EINA_LIST_FREE(settings, s)
|
||||
{
|
||||
if (s->name) eina_stringshare_del(s->name);
|
||||
if (s->s.value) eina_stringshare_del(s->s.value);
|
||||
E_FREE(s);
|
||||
}
|
||||
|
@ -623,11 +633,6 @@ e_xsettings_init(void)
|
|||
if (e_config->xsettings.enabled)
|
||||
_e_xsettings_start();
|
||||
|
||||
_setting_icon_theme_name = eina_stringshare_add("Net/IconThemeName");
|
||||
_setting_theme_name = eina_stringshare_add("Net/ThemeName");
|
||||
_setting_font_name = eina_stringshare_add("Gtk/FontName");
|
||||
_setting_xft_dpi = eina_stringshare_add("Xft/DPI");
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -641,11 +646,6 @@ e_xsettings_shutdown(void)
|
|||
xsettings_idler = NULL;
|
||||
reset = setting = EINA_FALSE;
|
||||
|
||||
eina_stringshare_replace(&_setting_icon_theme_name, NULL);
|
||||
eina_stringshare_replace(&_setting_theme_name, NULL);
|
||||
eina_stringshare_replace(&_setting_font_name, NULL);
|
||||
eina_stringshare_replace(&_setting_xft_dpi, NULL);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue