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 -- 2.1.4 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list