Xpra: Ticket #447: 0.10.7: right-mouse-click/context menu regression on client

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...



Tue, 22 Oct 2013 13:22:55 GMT - Antoine Martin: owner changed

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?


Tue, 22 Oct 2013 13:48:56 GMT - onlyjob:

r4594 on top of 0.10.7 fixes the issue. Thanks.


Tue, 22 Oct 2013 13:49:56 GMT - Antoine Martin: status changed; resolution set

Thanks - releasing now (again.. sigh!)


Sat, 23 Jan 2021 04:55:46 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/447