fix xsettings to notneed x headers directly... much better! :)

SVN revision: 82058
This commit is contained in:
Carsten Haitzler 2013-01-03 11:21:24 +00:00
parent 49c6833896
commit 625cafc28c
1 changed files with 18 additions and 14 deletions

View File

@ -3,8 +3,12 @@
for advances in cross toolkit settings */ for advances in cross toolkit settings */
#include <e.h> #include <e.h>
#include <X11/Xlib.h> //#include <X11/Xlib.h>
#include <X11/Xmd.h> /* For CARD16 */ //#include <X11/Xmd.h> /* For CARD16 */
// define here to avoid needing x includes directly.
#define C16 unsigned short
#define C32 unsigned long
#define RETRY_TIMEOUT 2.0 #define RETRY_TIMEOUT 2.0
@ -272,7 +276,7 @@ _e_xsettings_copy(unsigned char *buffer, Setting *s)
buffer += 2; buffer += 2;
str_len = strlen(s->name); str_len = strlen(s->name);
*(CARD16 *)(buffer) = str_len; *(C16 *)(buffer) = str_len;
buffer += 2; buffer += 2;
memcpy(buffer, s->name, str_len); memcpy(buffer, s->name, str_len);
@ -282,19 +286,19 @@ _e_xsettings_copy(unsigned char *buffer, Setting *s)
memset(buffer, 0, len); memset(buffer, 0, len);
buffer += len; buffer += len;
*(CARD32 *)(buffer) = s->last_change; *(C32 *)(buffer) = s->last_change;
buffer += 4; buffer += 4;
switch (s->type) switch (s->type)
{ {
case SETTING_TYPE_INT: case SETTING_TYPE_INT:
*(CARD32 *)(buffer) = s->i.value; *(C32 *)(buffer) = s->i.value;
buffer += 4; buffer += 4;
break; break;
case SETTING_TYPE_STRING: case SETTING_TYPE_STRING:
str_len = strlen (s->s.value); str_len = strlen (s->s.value);
*(CARD32 *)(buffer) = str_len; *(C32 *)(buffer) = str_len;
buffer += 4; buffer += 4;
memcpy(buffer, s->s.value, str_len); memcpy(buffer, s->s.value, str_len);
@ -306,10 +310,10 @@ _e_xsettings_copy(unsigned char *buffer, Setting *s)
break; break;
case SETTING_TYPE_COLOR: case SETTING_TYPE_COLOR:
*(CARD16 *)(buffer) = s->c.red; *(C16 *)(buffer) = s->c.red;
*(CARD16 *)(buffer + 2) = s->c.green; *(C16 *)(buffer + 2) = s->c.green;
*(CARD16 *)(buffer + 4) = s->c.blue; *(C16 *)(buffer + 4) = s->c.blue;
*(CARD16 *)(buffer + 6) = s->c.alpha; *(C16 *)(buffer + 6) = s->c.alpha;
buffer += 8; buffer += 8;
break; break;
} }
@ -333,15 +337,15 @@ _e_xsettings_apply(Settings_Manager *sm)
if (!data) return; if (!data) return;
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
*pos = LSBFirst; *pos = 0;//LSBFirst
#else #else
*pos = MSBFirst; *pos = 1;//MSBFirst
#endif #endif
pos += 4; pos += 4;
*(CARD32*)pos = sm->serial++; *(C32*)pos = sm->serial++;
pos += 4; pos += 4;
*(CARD32*)pos = eina_list_count(settings); *(C32*)pos = eina_list_count(settings);
pos += 4; pos += 4;
EINA_LIST_FOREACH(settings, l, s) EINA_LIST_FOREACH(settings, l, s)