diff options
author | Paul D'Pong | 2021-07-06 18:30:46 +0000 |
---|---|---|
committer | Alexander Kurtakov | 2021-07-13 15:52:19 +0000 |
commit | 0441e9b0d02ec1b035047e79175cb139a4cb7268 (patch) | |
tree | e7ef0558ba3d717c2a6d70f0af09879df839ca2c | |
parent | f8708abfc19d7d143b91a4d322a508e6c61cbbc6 (diff) | |
download | eclipse.platform.swt-0441e9b0d02ec1b035047e79175cb139a4cb7268.tar.gz eclipse.platform.swt-0441e9b0d02ec1b035047e79175cb139a4cb7268.tar.xz eclipse.platform.swt-0441e9b0d02ec1b035047e79175cb139a4cb7268.zip |
Bug 574694 - [GTK4] Remove show-help signal & limit callback to GTK3
only
- Rename internal callback gtk_show_help to gtk3_show_help
- Added GTK4 guard to signal id lookup
- Removed TODO GTK4 comments for Menu/MenuItems in gtk_show_help
callback
Change-Id: I7d3c0e5969048cad248a07375614e2098c2fe25c
Signed-off-by: Paul D'Pong <sdamrong@redhat.com>
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/182819
Tested-by: Platform Bot <platform-bot@eclipse.org>
Reviewed-by: Alexander Kurtakov <akurtako@redhat.com>
5 files changed, 11 insertions, 13 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java index aee23379e1..fe5e7e92c8 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java @@ -4299,7 +4299,7 @@ long gtk_scroll_event (long widget, long eventPtr) { } @Override -long gtk_show_help (long widget, long helpType) { +long gtk3_show_help (long widget, long helpType) { if (!hasFocus ()) return 0; return sendHelpEvent (helpType) ? 1 : 0; } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java index 859df98f9b..23ce2b7354 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java @@ -3548,8 +3548,8 @@ void initializeCallbacks () { signalIds [Widget.REALIZE] = OS.g_signal_lookup (OS.realize, GTK.GTK_TYPE_WIDGET ()); signalIds [Widget.SCROLL_EVENT] = OS.g_signal_lookup (OS.scroll_event, GTK.GTK_TYPE_WIDGET ()); signalIds [Widget.SHOW] = OS.g_signal_lookup (OS.show, GTK.GTK_TYPE_WIDGET ()); - signalIds [Widget.SHOW_HELP] = OS.g_signal_lookup (OS.show_help, GTK.GTK_TYPE_WIDGET ()); - if (!GTK.GTK4) signalIds [Widget.SIZE_ALLOCATE] = OS.g_signal_lookup (OS.size_allocate, GTK.GTK_TYPE_WIDGET ()); + if (!GTK.GTK4) signalIds[Widget.SHOW_HELP] = OS.g_signal_lookup(OS.show_help, GTK.GTK_TYPE_WIDGET()); + if (!GTK.GTK4) signalIds[Widget.SIZE_ALLOCATE] = OS.g_signal_lookup(OS.size_allocate, GTK.GTK_TYPE_WIDGET()); signalIds [Widget.STYLE_UPDATED] = OS.g_signal_lookup (OS.style_updated, GTK.GTK_TYPE_WIDGET ()); signalIds [Widget.UNMAP] = OS.g_signal_lookup (OS.unmap, GTK.GTK_TYPE_WIDGET ()); signalIds [Widget.UNMAP_EVENT] = OS.g_signal_lookup (OS.unmap_event, GTK.GTK_TYPE_WIDGET ()); diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java index 3f8d1277dd..89430d5420 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java @@ -853,9 +853,8 @@ long gtk_show (long widget) { @Override -long gtk_show_help (long widget, long helpType) { +long gtk3_show_help (long widget, long helpType) { if (sendHelpEvent (helpType)) { - // TODO: GTK4 there is no idea of a menu shell GTK3.gtk_menu_shell_deactivate (handle); return 1; } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java index 1a7c9e02ca..ede812b657 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java @@ -650,7 +650,7 @@ long gtk_select (long item) { } @Override -long gtk_show_help (long widget, long helpType) { +long gtk3_show_help (long widget, long helpType) { boolean handled = hooks (SWT.Help); if (handled) { postEvent (SWT.Help); @@ -658,7 +658,6 @@ long gtk_show_help (long widget, long helpType) { handled = parent.sendHelpEvent (helpType); } if (handled) { - // TODO: GTK4 there is no idea of a menu shell GTK3.gtk_menu_shell_deactivate (parent.handle); return 1; } @@ -666,8 +665,8 @@ long gtk_show_help (long widget, long helpType) { } @Override -void hookEvents () { - super.hookEvents (); +void hookEvents() { + super.hookEvents(); if (GTK.GTK4) { // Bind activate signal only for menu items with actions (SWT.CHECK and SWT.RADIO) @@ -676,8 +675,8 @@ void hookEvents () { } } else { OS.g_signal_connect_closure(handle, OS.activate, display.getClosure (ACTIVATE), false); - OS.g_signal_connect_closure (handle, OS.select, display.getClosure (SELECT), false); - OS.g_signal_connect_closure_by_id (handle, display.signalIds [SHOW_HELP], 0, display.getClosure (SHOW_HELP), false); + OS.g_signal_connect_closure(handle, OS.select, display.getClosure (SELECT), false); + OS.g_signal_connect_closure_by_id(handle, display.signalIds[SHOW_HELP], 0, display.getClosure(SHOW_HELP), false); } } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java index f4542bedb6..8cae2781d2 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java @@ -956,7 +956,7 @@ long gtk_show (long widget) { return 0; } -long gtk_show_help (long widget, long helpType) { +long gtk3_show_help (long widget, long helpType) { return 0; } @@ -2333,7 +2333,7 @@ long windowProc (long handle, long arg0, long user_data) { case MOVE_FOCUS: return gtk_move_focus (handle, arg0); case POPULATE_POPUP: return gtk_populate_popup (handle, arg0); case SCROLL_EVENT: return gtk_scroll_event (handle, arg0); - case SHOW_HELP: return gtk_show_help (handle, arg0); + case SHOW_HELP: return gtk3_show_help(handle, arg0); case SIZE_ALLOCATE: return gtk_size_allocate (handle, arg0); case TOGGLED: return gtk_toggled (handle, arg0); case UNMAP_EVENT: return gtk_unmap_event (handle, arg0); |