* [PATCH 0/4] Fix XML-RPC server and Goggle UI
@ 2011-01-11 14:33 Joshua Lock
2011-01-11 14:33 ` [PATCH 1/4] bitbake/uievent: fix queueing of events for xmlrpc before UI has loaded Joshua Lock
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Joshua Lock @ 2011-01-11 14:33 UTC (permalink / raw)
To: poky
This series contains two important fixes and two trivial UI enhancements.
With this series the XML-RPC server now works correctly and the goggle UI has a
subtle, long-standing, bug fixed.
Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: josh/umm
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=josh/umm
Thanks,
Joshua Lock <josh@linux.intel.com>
---
Joshua Lock (4):
bitbake/uievent: fix queueing of events for xmlrpc before UI has
loaded
bitbake/goggle: closing the progress dialog kills the UI
bitbake/depexp: closing progress dialog kills gui
bitbake/goggle: don't drop events
bitbake/lib/bb/ui/depexp.py | 1 +
bitbake/lib/bb/ui/goggle.py | 3 ++-
bitbake/lib/bb/ui/uievent.py | 7 +++++--
3 files changed, 8 insertions(+), 3 deletions(-)
--
1.7.3.4
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/4] bitbake/uievent: fix queueing of events for xmlrpc before UI has loaded
2011-01-11 14:33 [PATCH 0/4] Fix XML-RPC server and Goggle UI Joshua Lock
@ 2011-01-11 14:33 ` Joshua Lock
2011-01-11 14:33 ` [PATCH 2/4] bitbake/goggle: closing the progress dialog kills the UI Joshua Lock
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Joshua Lock @ 2011-01-11 14:33 UTC (permalink / raw)
To: poky
The recent change to Queue up events before the UI is spawned (in
26eda933379801ef1c8b4b09e67d14f498cd3813) broke the xmlrpc server because the
uievent implementation of BBUIEventQueue expects pickled strings for its
queue_event() method.
This is because the RPC exposed event.send() method must accept pickled
strings, but for xmlrpc event.send() is just mapped to queue_event().
Work around this by adding a send_event method which unpickles strings and
hands them off to queue_event() which can then be used for the remapping.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
bitbake/lib/bb/ui/uievent.py | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/bitbake/lib/bb/ui/uievent.py b/bitbake/lib/bb/ui/uievent.py
index b404805..2fef4e4 100644
--- a/bitbake/lib/bb/ui/uievent.py
+++ b/bitbake/lib/bb/ui/uievent.py
@@ -63,17 +63,20 @@ class BBUIEventQueue:
def queue_event(self, event):
self.eventQueueLock.acquire()
- self.eventQueue.append(pickle.loads(event))
+ self.eventQueue.append(event)
self.eventQueueNotify.set()
self.eventQueueLock.release()
+ def send_event(self, event):
+ self.queue_event(pickle.loads(event))
+
def startCallbackHandler(self):
server = UIXMLRPCServer()
self.host, self.port = server.socket.getsockname()
server.register_function( self.system_quit, "event.quit" )
- server.register_function( self.queue_event, "event.send" )
+ server.register_function( self.send_event, "event.send" )
server.socket.settimeout(1)
self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port)
--
1.7.3.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/4] bitbake/goggle: closing the progress dialog kills the UI
2011-01-11 14:33 [PATCH 0/4] Fix XML-RPC server and Goggle UI Joshua Lock
2011-01-11 14:33 ` [PATCH 1/4] bitbake/uievent: fix queueing of events for xmlrpc before UI has loaded Joshua Lock
@ 2011-01-11 14:33 ` Joshua Lock
2011-01-11 14:33 ` [PATCH 3/4] bitbake/depexp: closing progress dialog kills gui Joshua Lock
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Joshua Lock @ 2011-01-11 14:33 UTC (permalink / raw)
To: poky
It's unlikely that someone wants to close the progress dialog
yet leave the UI (and BitBake process) running, so hook up
the progress dialogs delete-event to exit gtk.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
bitbake/lib/bb/ui/goggle.py | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/bitbake/lib/bb/ui/goggle.py b/bitbake/lib/bb/ui/goggle.py
index 3c6a014..1905c0c 100644
--- a/bitbake/lib/bb/ui/goggle.py
+++ b/bitbake/lib/bb/ui/goggle.py
@@ -70,6 +70,7 @@ def main (server, eventHandler):
window = MainWindow ()
window.show_all ()
pbar = ProgressBar(window)
+ pbar.connect("delete-event", gtk.main_quit)
# Create the object for the current build
running_build = RunningBuild ()
--
1.7.3.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/4] bitbake/depexp: closing progress dialog kills gui
2011-01-11 14:33 [PATCH 0/4] Fix XML-RPC server and Goggle UI Joshua Lock
2011-01-11 14:33 ` [PATCH 1/4] bitbake/uievent: fix queueing of events for xmlrpc before UI has loaded Joshua Lock
2011-01-11 14:33 ` [PATCH 2/4] bitbake/goggle: closing the progress dialog kills the UI Joshua Lock
@ 2011-01-11 14:33 ` Joshua Lock
2011-01-11 14:34 ` [PATCH 4/4] bitbake/goggle: don't drop events Joshua Lock
2011-01-12 11:44 ` [PATCH 0/4] Fix XML-RPC server and Goggle UI Richard Purdie
4 siblings, 0 replies; 6+ messages in thread
From: Joshua Lock @ 2011-01-11 14:33 UTC (permalink / raw)
To: poky
It seems safe to assume a user hitting the close button
on the dialog wants to kill the whole UI.
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
bitbake/lib/bb/ui/depexp.py | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/bitbake/lib/bb/ui/depexp.py b/bitbake/lib/bb/ui/depexp.py
index 13bf9ac..3dbd5e0 100644
--- a/bitbake/lib/bb/ui/depexp.py
+++ b/bitbake/lib/bb/ui/depexp.py
@@ -218,6 +218,7 @@ def main(server, eventHandler):
gtk.gdk.threads_enter()
dep = DepExplorer()
pbar = ProgressBar(dep)
+ pbar.connect("delete-event", gtk.main_quit)
gtk.gdk.threads_leave()
progress_total = 0
--
1.7.3.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] bitbake/goggle: don't drop events
2011-01-11 14:33 [PATCH 0/4] Fix XML-RPC server and Goggle UI Joshua Lock
` (2 preceding siblings ...)
2011-01-11 14:33 ` [PATCH 3/4] bitbake/depexp: closing progress dialog kills gui Joshua Lock
@ 2011-01-11 14:34 ` Joshua Lock
2011-01-12 11:44 ` [PATCH 0/4] Fix XML-RPC server and Goggle UI Richard Purdie
4 siblings, 0 replies; 6+ messages in thread
From: Joshua Lock @ 2011-01-11 14:34 UTC (permalink / raw)
To: poky
We had a logic inversion that meant we where dropping quite a
significant number of events on the floor.... Fixed!
Signed-off-by: Joshua Lock <josh@linux.intel.com>
---
bitbake/lib/bb/ui/goggle.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/bitbake/lib/bb/ui/goggle.py b/bitbake/lib/bb/ui/goggle.py
index 1905c0c..ec5a38d 100644
--- a/bitbake/lib/bb/ui/goggle.py
+++ b/bitbake/lib/bb/ui/goggle.py
@@ -32,8 +32,8 @@ def event_handle_idle_func (eventHandler, build, pbar):
# Consume as many messages as we can in the time available to us
event = eventHandler.getEvent()
while event:
- event = eventHandler.getEvent()
build.handle_event (event, pbar)
+ event = eventHandler.getEvent()
return True
--
1.7.3.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/4] Fix XML-RPC server and Goggle UI
2011-01-11 14:33 [PATCH 0/4] Fix XML-RPC server and Goggle UI Joshua Lock
` (3 preceding siblings ...)
2011-01-11 14:34 ` [PATCH 4/4] bitbake/goggle: don't drop events Joshua Lock
@ 2011-01-12 11:44 ` Richard Purdie
4 siblings, 0 replies; 6+ messages in thread
From: Richard Purdie @ 2011-01-12 11:44 UTC (permalink / raw)
To: Joshua Lock; +Cc: poky
On Tue, 2011-01-11 at 14:33 +0000, Joshua Lock wrote:
> This series contains two important fixes and two trivial UI enhancements.
>
> With this series the XML-RPC server now works correctly and the goggle UI has a
> subtle, long-standing, bug fixed.
>
> Pull URL: git://git.pokylinux.org/poky-contrib.git
> Branch: josh/umm
> Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=josh/umm
>
> Thanks,
> Joshua Lock <josh@linux.intel.com>
Merged into master, thanks!
Richard
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-01-12 11:44 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-11 14:33 [PATCH 0/4] Fix XML-RPC server and Goggle UI Joshua Lock
2011-01-11 14:33 ` [PATCH 1/4] bitbake/uievent: fix queueing of events for xmlrpc before UI has loaded Joshua Lock
2011-01-11 14:33 ` [PATCH 2/4] bitbake/goggle: closing the progress dialog kills the UI Joshua Lock
2011-01-11 14:33 ` [PATCH 3/4] bitbake/depexp: closing progress dialog kills gui Joshua Lock
2011-01-11 14:34 ` [PATCH 4/4] bitbake/goggle: don't drop events Joshua Lock
2011-01-12 11:44 ` [PATCH 0/4] Fix XML-RPC server and Goggle UI Richard Purdie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.