xpra icon
Bug tracker and wiki

Opened 6 years ago

Closed 6 years ago

#447 closed defect (fixed)

0.10.7: right-mouse-click/context menu regression on client

Reported by: onlyjob Owned by: onlyjob
Priority: critical Milestone:
Component: client Version: 0.10.x
Keywords: Cc:

Description

With upgrade to 0.10.7 I lost ability to use context menu in some applications [kate,kmail]: no menu appears when I click right mouse button. Xpra-client prints the following to console:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/client/ui_client_base.py", line 1203, in _process_new_override_redirect
    self._process_new_common(packet, True)
  File "/usr/lib/python2.7/dist-packages/xpra/client/ui_client_base.py", line 1180, in _process_new_common
    self.make_new_window(wid, x, y, w, h, metadata, override_redirect, client_properties, auto_refresh_delay)
  File "/usr/lib/python2.7/dist-packages/xpra/client/ui_client_base.py", line 1185, in make_new_window
    window = ClientWindowClass(self, group_leader_window, wid, x, y, w, h, metadata, override_redirect, client_properties, auto_refresh_delay)
  File "/usr/lib/python2.7/dist-packages/xpra/client/client_window_base.py", line 42, in __init__
    self.setup_window()
  File "/usr/lib/python2.7/dist-packages/xpra/client/gtk2/client_window.py", line 89, in setup_window
    GTKClientWindowBase.setup_window(self)
  File "/usr/lib/python2.7/dist-packages/xpra/client/gtk_base/gtk_client_window_base.py", line 52, in setup_window
    ClientWindowBase.setup_window(self)
  File "/usr/lib/python2.7/dist-packages/xpra/client/client_window_base.py", line 57, in setup_window
    self.new_backing(*self._size)
  File "/usr/lib/python2.7/dist-packages/xpra/client/gtk2/client_window.py", line 111, in new_backing
    self._backing = self.make_new_backing(BACKING_CLASS, w, h)
  File "/usr/lib/python2.7/dist-packages/xpra/client/client_widget_base.py", line 53, in make_new_backing
    backing.init(w, h)
  File "/usr/lib/python2.7/dist-packages/xpra/client/gtk2/pixmap_backing.py", line 31, in init
    if self._has_alpha and HAS_RGBA:
NameError: global name 'HAS_RGBA' is not defined

Same but with "-d all" verbosity:

2013-10-22 23:44:08,967 focus-in-event for wid=1                                                                                                                       
2013-10-22 23:44:08,968 _focus_change((<ClientWindow object at 0x44ff140 (xpra+client+gtk2+client_window+ClientWindow at 0x4546180)>, <GParamBoolean 'has-toplevel-focus'>)) wid=1, has-toplevel-focus=True, _been_mapped=True                                                                                                                
2013-10-22 23:44:08,968 update_focus(1, True) _focused=None                                                                                                            
2013-10-22 23:44:08,968 send_focus(1)                                                                                                                                  
2013-10-22 23:44:08,973 add_packet_to_queue(focus ...)                                                                                                                 
2013-10-22 23:44:08,974 add_packet_to_queue(button-action ...)                                                                                                         
2013-10-22 23:44:08,976 add_packet_to_queue(pointer-position ...)                                                                                                      
2013-10-22 23:44:09,048 get_client_window_class({'fullscreen': False, 'has-alpha': True, 'xid': '0x1006ee5', 'pid': 22839, 'window-type': ('POPUP_MENU', 'NORMAL'), 'maximized': False, 'transient-for': 1, 'override-redirect': True}, True) GLClientWindowClass=<class 'xpra.client.gl.gl_client_window.GLClientWindow'>, opengl_enabled=True, mmap_enabled=False, window_types=('POPUP_MENU', 'NORMAL'), encoding=rgb                                                                                             
2013-10-22 23:44:09,048 <class 'xpra.client.gtk2.client_window.ClientWindow'>(<XpraClient object at 0x348edc0 (xpra+client+gtk2+client+XpraClient at 0x2c2dee0)>, <gtk.gdk.Window object at 0x450dfa0 (GdkWindow at 0x2afbd80)>, 109, 1038, 681, 265, 394, {'fullscreen': False, 'has-alpha': True, 'xid': '0x1006ee5', 'pid': 22839, 'window-type': ('POPUP_MENU', 'NORMAL'), 'maximized': False, 'transient-for': 1, 'override-redirect': True}, True, {}, 0)                                                      
2013-10-22 23:44:09,049 update_metadata({'fullscreen': False, 'has-alpha': True, 'xid': '0x1006ee5', 'pid': 22839, 'window-type': ('POPUP_MENU', 'NORMAL'), 'maximized': False, 'transient-for': 1, 'override-redirect': True})                                                                                                               
2013-10-22 23:44:09,049 apply_transient_for(1) window=<ClientWindow object at 0x44ff140 (xpra+client+gtk2+client_window+ClientWindow at 0x4546180)>                    
2013-10-22 23:44:09,049 set_window_type(['POPUP_MENU', 'NORMAL']) hints=9                                                                                              
2013-10-22 23:44:09,049 set_alpha() using rgba colormap for 109, realized=False                                                                                        
2013-10-22 23:44:09,049 set_fullscreen(False)                                                                                                                          
2013-10-22 23:44:09,050 make_new_backing(<class 'xpra.client.gtk2.pixmap_backing.PixmapBacking'>, 265, 394) effective backing class=<class 'xpra.client.gtk2.pixmap_backing.PixmapBacking'>, alpha=True                                                                                                                                       
2013-10-22 23:44:09,050 make_new_backing(<class 'xpra.client.gtk2.pixmap_backing.PixmapBacking'>, 265, 394) calling init                                               
Traceback (most recent call last):                                                                                                                                     
  File "/usr/lib/python2.7/dist-packages/xpra/client/ui_client_base.py", line 1203, in _process_new_override_redirect                                                  
    self._process_new_common(packet, True)                                                                                                                             
  File "/usr/lib/python2.7/dist-packages/xpra/client/ui_client_base.py", line 1180, in _process_new_common                                                             
    self.make_new_window(wid, x, y, w, h, metadata, override_redirect, client_properties, auto_refresh_delay)                                                          
  File "/usr/lib/python2.7/dist-packages/xpra/client/ui_client_base.py", line 1185, in make_new_window                                                                 
    window = ClientWindowClass(self, group_leader_window, wid, x, y, w, h, metadata, override_redirect, client_properties, auto_refresh_delay)                         
  File "/usr/lib/python2.7/dist-packages/xpra/client/client_window_base.py", line 42, in __init__                                                                      
    self.setup_window()                                                                                                                                                
  File "/usr/lib/python2.7/dist-packages/xpra/client/gtk2/client_window.py", line 89, in setup_window                                                                  
    GTKClientWindowBase.setup_window(self)                                                                                                                             
  File "/usr/lib/python2.7/dist-packages/xpra/client/gtk_base/gtk_client_window_base.py", line 52, in setup_window                                                     
    ClientWindowBase.setup_window(self)                                                                                                                                
  File "/usr/lib/python2.7/dist-packages/xpra/client/client_window_base.py", line 57, in setup_window                                                                  
    self.new_backing(*self._size)                                                                                                                                      
  File "/usr/lib/python2.7/dist-packages/xpra/client/gtk2/client_window.py", line 111, in new_backing                                                                  
    self._backing = self.make_new_backing(BACKING_CLASS, w, h)                                                                                                         
  File "/usr/lib/python2.7/dist-packages/xpra/client/client_widget_base.py", line 53, in make_new_backing                                                              
    backing.init(w, h)                                                                                                                                                 
  File "/usr/lib/python2.7/dist-packages/xpra/client/gtk2/pixmap_backing.py", line 31, in init                                                                         
    if self._has_alpha and HAS_RGBA:                                                                                                                                   
NameError: global name 'HAS_RGBA' is not defined                                                                                                                       

Downgrade to 0.10.6 fixes the issue...

Change History (3)

comment:1 Changed 6 years ago by Antoine Martin

Owner: changed from Antoine Martin to onlyjob

I should have manually double-checked the patch when I applied it...
r4561 is the correct patch, but when I applied it to v0.10.x it became r4563, which is just plain wrong!

r4594 fixes this, will release 0.10.8 with this - can you please confirm?

comment:2 Changed 6 years ago by onlyjob

r4594 on top of 0.10.7 fixes the issue. Thanks.

comment:3 Changed 6 years ago by Antoine Martin

Resolution: fixed
Status: newclosed

Thanks - releasing now (again.. sigh!)

Note: See TracTickets for help on using tickets.