13
0

[Summary] Mac OS specific bug fix: Increased priority of the top menu bar events

[Details] g_idle_add () which was used for this purpose used G_PRIORITY_DEFAULT_IDLE>=200 which was too low for correct main menu requests processing, like showing Mixer or Big Clock Window.

The priority was increased to G_PRIORITY_HIGH_IDLE = 100.
According to GTK manual (https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html#G-PRIORITY-HIGH-IDLE:CAPS)
GTK+ uses G_PRIORITY_HIGH_IDLE + 10 = 110 for resizing operations, and G_PRIORITY_HIGH_IDLE + 20 = 120 for redrawing operations.

I assume that during record or playback on tracks there are too many redraw request which didn't give any chance for main menu request to be processed in time with old priority value.

This change must be considered as a hot fix so far.
The issue might be deeper. Will be investigated with Paul.

[Feature reviewed] AMishyn
[Reviewed by] PDavis, GZharun
This commit is contained in:
Nikolay 2015-05-13 17:05:36 +03:00 committed by Paul Davis
parent 5d45ccf970
commit 55658c3aae

View File

@ -573,7 +573,9 @@ idle_call_activate (gpointer data)
- (void) activate:(id) sender - (void) activate:(id) sender
{ {
UNUSED_PARAMETER(sender); UNUSED_PARAMETER(sender);
g_idle_add (idle_call_activate, gtk_menu_item); // Hot Fix. Increase Priority.
g_idle_add_full (G_PRIORITY_HIGH_IDLE, idle_call_activate, gtk_menu_item, NULL);
// g_idle_add (idle_call_activate, gtk_menu_item);
} }
@end @end