Merge lp://staging/~sjakthol/compiz/fix-749084 into lp://staging/compiz/0.9.10
Status: | Merged |
---|---|
Approved by: | MC Return |
Approved revision: | 3755 |
Merged at revision: | 3758 |
Proposed branch: | lp://staging/~sjakthol/compiz/fix-749084 |
Merge into: | lp://staging/compiz/0.9.10 |
Diff against target: |
942 lines (+360/-462) 2 files modified
plugins/dbus/src/dbus.cpp (+305/-461) plugins/dbus/src/dbus.h (+55/-1) |
To merge this branch: | bzr merge lp://staging/~sjakthol/compiz/fix-749084 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
MC Return | Approve | ||
Review via email: mp+172846@code.staging.launchpad.net |
Commit message
Port dbus introspection to compiz 0.9.
- move xml creation to a separate class (IntrospectionR
memory management (allocate buffer and writer in ctor, free in dtor).
- move duplicated response sending code to a separate method that takes
Introspection
- Refactor handle*
This also fixes the broken list method which was a result of logic error. The
code to invoke list handler was never reached.
This fixes most of the issues noted in bug 749084.
Description of the change
The broken list method is fixed by change at line 834 of the diff. Cause was following code:
if (path.empty ()) ... else if (path.size () == 1) ... else if (path.size () < 2). If path was smaller than two, it either had a size of 1 or it was empty.
Please note that the plugin and option metadata is still unavailable.
Wow, great job !!!
Thanks a lot, Sami, for bringing this back to life.
I will test this ASAP.