Merge lp:~desrt/indicator-appmenu/hud-rewrite-wip into lp:indicator-appmenu/0.4
| Status: | Merged | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Approved by: | Charles Kerr on 2012-03-16 | ||||||||
| Approved revision: | 237 | ||||||||
| Merged at revision: | 185 | ||||||||
| Proposed branch: | lp:~desrt/indicator-appmenu/hud-rewrite-wip | ||||||||
| Merge into: | lp:indicator-appmenu/0.4 | ||||||||
| Diff against target: |
1267 lines (+635/-44) 16 files modified
configure.ac (+3/-0) src/Makefile.am (+23/-1) src/hud-gtk.vala (+3/-1) src/hud-service.c (+53/-2) src/hudappindicatorsource.c (+34/-2) src/huddbusmenucollector.c (+107/-18) src/huddebugsource.c (+168/-0) src/huddebugsource.h (+36/-0) src/hudindicatorsource.c (+49/-5) src/huditem.c (+1/-0) src/hudmenumodelcollector.c (+19/-1) src/hudquery.c (+14/-1) src/hudsource.c (+46/-0) src/hudsource.h (+5/-0) src/hudsourcelist.c (+22/-0) src/hudwindowsource.c (+52/-13) |
||||||||
| To merge this branch: | bzr merge lp:~desrt/indicator-appmenu/hud-rewrite-wip | ||||||||
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Charles Kerr (community) | 2012-03-15 | Approve on 2012-03-16 | |
|
Review via email:
|
|||
Description of the Change
Add support for XUL be emitting "Opened" signals when a query is active.
Fix a few leaks as well.
- 227. By Allison Lortie on 2012-03-15
-
hud-service: HudQuery: add some logging
- 228. By Allison Lortie on 2012-03-15
-
hud-service: HudQuery: don't leak queries
Change the strategy for dealing with the HudQuery being unreffed in the
middle of a pending update in order to avoid leaking queries. - 229. By Allison Lortie on 2012-03-15
-
hud-service: Give OPENED event for menuitems that change into submenus while a query is in effect
- 230. By Allison Lortie on 2012-03-15
-
Add some paranoid checking
We don't want dbusmenu delivering signals to us while we're iterating
our hashtable, so add an assert about that. It doesn't do so now, but
this will make it easier to detect the problem if it should start doing
so in the future. - 231. By Allison Lortie on 2012-03-15
-
hud-service: on startup, set the focus window as active
We were waiting for the first active-
window- changed signal before we
started tracking window menus. Do it as soon as we start, using the
currently-active- window. - 232. By Allison Lortie on 2012-03-15
-
add a "debug" source for testing the update signal
we could use this for other testing purposes later on as well
| Charles Kerr (charlesk) wrote : | # |
* About the text conflict, we could use <glib/gi18n.h> instead of locale.h and libintl.h
* In hud_indicator_
* I think the answer is probably no, but wanted to ask if hud_window_source's dispose or finalize need to do anything about active_collector or its "changed" signal that hud_window_source connected to.
| Allison Lortie (desrt) wrote : | # |
> * About the text conflict, we could use <glib/gi18n.h> instead of locale.h and
> libintl.h
How do I resolve conflicts that only exist in merge requests? Do I have to merge up my branch? I guess that's what I'll try...
The intl headers are from Seb's earlier unrelated patch -- they only conflict because I also added a header at the same place. He's not using _() so the glib header is not really required...
> * In hud_indicator_
> hud_source_unuse()?
Yes! Good catch. Thanks :)
> * I think the answer is probably no, but wanted to ask if hud_window_source's
> dispose or finalize need to do anything about active_collector or its
> "changed" signal that hud_window_source connected to.
Strictly speaking, the answer is that I should be doing this. At the same time, though, it's not a bug, because the window source finalizer is never run (since the hud service runs forever and quits by exiting, without freeing the sources). I was already planning to do a bit of a finalizer cleanup so that we could add support for freeing things on exit (to increase valgrindability) so I'll make this change now as well. Thanks.
| Allison Lortie (desrt) wrote : | # |
Ah. Sorry. Haven't had my coffee yet.
The signal connection does _not_ need to be removed from finalize. If you use g_signal_
The memory loss is not a leak -- you gain it back again when the object emitting the signal is destroyed.
- 233. By Allison Lortie on 2012-03-16
-
hud-service: indicatorsource: on indicator disappearance *unuse* the dbusmenu instead of using it extra
Probably this has absolutely zero impact since the source is going to be
destroyed one line later anyway, but it reads really badly (and strictly
speaking, the menus should be closed if they've been opened). - 234. By Allison Lortie on 2012-03-16
-
merge trunk
- 235. By Allison Lortie on 2012-03-16
-
hud-service: add some debug output to the dbus front-end (to help debug unity issues)
- 236. By Allison Lortie on 2012-03-16
-
add hud-gtk to the build system
This introduces a mandatory build-time dependency on Vala 0.15 and gtk3 (both needed for GtkApplication).
- 237. By Allison Lortie on 2012-03-16
-
hud-service: delay dropping of query by 1 second
Unity sends a 'CloseQuery' followed immediately by a 'StartQuery' on
each keystroke in the search field. This results in a bunch of extra
dbusmenu messages being sent as the use count drops briefly to 0 only to
go immediately back to 1.We can prevent that by delaying the destruction of the query.
This decreases the number of dbus messages resulting from a short search
by a factor of about 4 (on a number that measures in the 100s).
- 238. By Allison Lortie on 2012-03-17
-
hud-service: dbusmenu collector: hold a reference on the root menu item
In the root-changed case, the DbusmenuClient drops the reference on the
root item before alerting us that it has changed. We then go iterating
over our own (now-dead) copy of that item in order to remove it from our
internal hashtable.Keep our own reference to it to ensure that this is safe.
This could explain lp:955937.

Could you fix the text conflict?