[tim-janik/beast] Bus properties ported to C++ - redone with APPLY_IDL_PROPERTY() macro (#105)



As requested, I went through all changes in #78 and used APPLY_IDL_PROPERTY() where possible. In some cases it wasn't possible, so there are a few handwritten setters. I also avoid any fancy new features in the code or ui, this is an 1:1 port.

This also fixes the C++ property loader code in bsestorage.cc so that make check passes.

From my perspective the only thing that could be controversial is that you used g_object_set(...property...value...) to avoid undo recording for some setter calls. I added a function to block undo manually so

  g_object_set (self, /* no undo */
               "sync", self->saved_sync,
                NULL);

now looks somewhat like this

  bus->block_property_undo(); 
  bus->sync (self->saved_sync);
  bus->unblock_property_undo();

This should work in the same way for setters that use APPLY_IDL_PROPERTY() and for hand-written setters that use push_property_undo(). If you have a better suggestion feel free to either change this after merging or letting me know how it should be done.


You can view, comment on, or merge this pull request online at:

  https://github.com/tim-janik/beast/pull/105

Commit Summary

File Changes

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]