https://bugzilla.novell.com/show_bug.cgi?id=705409
https://bugzilla.novell.com/show_bug.cgi?id=705409#c6
--- Comment #6 from Joey Yu Zheng 2011-08-04 09:02:49 UTC ---
Vincent,
Thanks for the suggestion. I checked and found that the problem may be
gconf2's.
#1, gconf_entry_get_is_writable() always return "TRUE" when calling
can_edit_source(). source is "xml::/etc/gconf/gconf.xml.defaults", which is
correct and same as 11.4.
#2, I used gdb to follow gconf_entry_get_is_writable() in gconf2 and found that
we are now using "REAL_ENTRY (entry)->is_writable" to do type-convert forcely.
#3, So I examined the mem of "entry" and see following:
(gdb) x/20xb entry
0x804c048: 0x60 0x12 0x05 0x08 0x00 0x00 0x00 0x00
0x804c050: 0x00 0x00 0x00 0x00 0x01 0x00 0x00 0x00
0x804c058: 0xba 0xba 0xba 0xba
entry's type is GConfEntry:
struct _GConfEntry {
char *key;
GConfValue *value;
}
and REAL_ENTRY will forcely convert it to GConfRealEntry:
typedef struct {
char *key;
GConfValue *value;
char *schema_name;
int refcount;
guint is_default : 1;
guint is_writable : 1;
} GConfRealEntry;
so, is_writable will be "1" according to the mem dump.
#4, I also checked in 11.4 and the value which is "0xba 0xba 0xba 0xba" will
always be "0x00 0x00 0x00 0x00". So in 11.4 there is no such issue.
So I wonder if the force-type-convert is proper or not?
Thanks,
Joey
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.