On 03/24/2015 07:16 AM, Marc Deslauriers wrote: > Hi, > > On 2015-03-16 02:55 PM, Cole Robinson wrote: >> On 03/13/2015 09:31 AM, Marc Deslauriers wrote: >>> Hello, >>> >>> Here is a patch to correct grab issues when windows overlap stemming from >>> incorrect page visibilities. >>> >>> Thanks, >>> >>> Marc. >>> >>> >From a11986b10f13bc85f0be578e5460369a1ecafb57 Mon Sep 17 00:00:00 2001 >>> From: Marc Deslauriers <marc.deslauriers@xxxxxxxxxx> >>> Date: Fri, 13 Mar 2015 09:28:02 -0400 >>> Subject: [PATCH] Don't clear all page visibilities during initialization >>> >>> Since commit dfa23765, page_changed() sets page visibilities based on the >>> value of the newpage parameter. Calling the function without it being set >>> makes all pages invisible at once during initialization, resulting in a >>> weird scenario which prevents the window from getting proper focus events >>> when another window partially overlaps it, resulting in stuck grabs. >> >> Can we instead take the bit added in dfa23765 and stick it under: >> >> if newpage is not None: >> <code> >> >> page_changed has other initial init bits (like setting fullscreen state) and >> could grow more in the future. > > Sure, that works. Here is an updated patch. > > Marc. > > From a0590babada24dc00f1de86644350c9e1f23461e Mon Sep 17 00:00:00 2001 > From: Marc Deslauriers <marc.deslauriers@xxxxxxxxxx> > Date: Tue, 24 Mar 2015 07:14:31 -0400 > Subject: [PATCH] Don't clear all page visibilities during initialization > > Since commit dfa23765, page_changed() sets page visibilities based on the > value of the newpage parameter. Calling the function without it being set > makes all pages invisible at once during initialization, resulting in a > weird scenario which prevents the window from getting proper focus events > when another window partially overlaps it, resulting in stuck grabs. > --- > virtManager/console.py | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/virtManager/console.py b/virtManager/console.py > index 749c165..e6f472e 100644 > --- a/virtManager/console.py > +++ b/virtManager/console.py > @@ -1095,9 +1095,10 @@ class vmmConsolePages(vmmGObjectUI): > def page_changed(self, ignore1=None, ignore2=None, newpage=None): > pagenum = self.widget("console-pages").get_current_page() > > - for i in range(self.widget("console-pages").get_n_pages()): > - w = self.widget("console-pages").get_nth_page(i) > - w.set_visible(i == newpage) > + if newpage is not None: > + for i in range(self.widget("console-pages").get_n_pages()): > + w = self.widget("console-pages").get_nth_page(i) > + w.set_visible(i == newpage) > > if pagenum < CONSOLE_PAGE_OFFSET: > self.last_gfx_page = pagenum > Thanks Marc, pushed now - Cole _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list