! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Xfconf binding sets property again when the object property changes
Status:
RESOLVED: FIXED

Comments

Description Nick Schermer editbugs 2008-10-21 17:16:39 CEST
Doesn't really harm, but when a property changes, the binding will save it to the channel (blocking xfconf_g_binding_channel_property_changed() during the write), but since this is partly async because of dbus, the property-changed signal is emitted after xfconf_g_binding_channel_property_changed() is unblocked, resulting in setting the property again.

Possible soluting migh be a async callback to unblock the property-changed signal, but this might cause problem, so it's not a good idea.

Duno is it's possible to add something internally like xfconf_channel_flush(), which waits until everything is processed by/through dbus.
Comment 1 Brian J. Tarricone (not reading bugmail) 2008-10-21 18:20:14 CEST
Yep, I'm aware of this.  The xfconfd backend is smart now and doesn't re-set values (or re-send PropertyChanged) when you try to set a property to the value it already holds.

I don't think there's a good way to fix this in the bindings without it being really messy, so I'm inclined to leave this alone.
Comment 2 Nick Schermer editbugs 2008-10-22 09:46:09 CEST
Yeah, that's why I though too, but let's keep it open, maybe someone comes with something genius to fix this...
Comment 3 Nick Schermer editbugs 2010-02-08 20:43:06 CET
This is fixed because the property cache checks if the property is changed.

Bug #4512

Reported by:
Nick Schermer
Reported on: 2008-10-21
Last modified on: 2015-02-16

People

Assignee:
Brian J. Tarricone (not reading bugmail)
CC List:
0 users

Version

Version:
4.5.91 (4.6beta1)

Attachments

Additional information