Opened 6 years ago

Last modified 5 years ago

#4709 new defect

MenuItem at times do not trigger activate signal

Reported by: godiard Owned by:
Priority: High Milestone: Unspecified
Component: Sugar Version: Git as of bugdate
Severity: Unspecified Keywords: AU
Cc: Distribution/OS: Unspecified
Bug Status: Unconfirmed

Description

This was reported in AU, but I could reproduce it:

Once in a while (~1 in 10) when the user try to copy a item in the Journal, to Documents or to a external device, nothing is copied.

After add log, I found the code connected to "activate" signal is not called [1].

I added a call back to "button-press-event" and that is always called.

There are other bugs reported similar to this, but not exactly equal [2] and a complex proposed workaround [3].

[1] https://github.com/sugarlabs/sugar/blob/master/src/jarabe/journal/palettes.py#L345

[2] https://bugzilla.gnome.org/buglist.cgi?quicksearch=menuitem+activate

[3] http://stackoverflow.com/questions/5221326/submenu-item-does-not-call-function-with-working-solution

Attachments (1)

test_menu_item.py (787 bytes) - added by godiard 6 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 6 years ago by ignacio

Reproduced on Sugar Build

comment:2 Changed 6 years ago by godiard

I couldn't find a solution to this issue. Attached is a minimal testcase, to show MenuItem is not sending the 'activate' signal every time than is clicked.

Changed 6 years ago by godiard

comment:3 Changed 6 years ago by godiard

In the attached example, the 'activate' signal is emitted one in two clicks, or when the mouse is pressed for a long time.

GtkMenuShell button_release complicated logic can be involved in this issue:

https://git.gnome.org/browse/gtk+/tree/gtk/gtkmenushell.c#n753

comment:4 Changed 5 years ago by walter

  • Priority changed from Unspecified by Maintainer to Normal

comment:5 Changed 5 years ago by godiard

  • Priority changed from Normal to High

comment:6 Changed 5 years ago by godiard

  • Keywords AU added; AU1B removed
Note: See TracTickets for help on using tickets.