Mailinglist Archive: opensuse-bugs (4069 mails)

< Previous Next >
[Bug 705409] gconf-editor will not set an entry to default

--- Comment #6 from Joey Yu Zheng <jzheng@xxxxxxxxxx> 2011-08-04 09:02:49 UTC

Thanks for the suggestion. I checked and found that the problem may be
#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?


Configure bugmail:
------- You are receiving this mail because: -------
You are on the CC list for the bug.

< Previous Next >