GTK4: bypass bug by directly adding signal listener to webview
It took me a while to arrive at this solution. Sad that I can't come up with anything better
This commit is contained in:
parent
d03dbede60
commit
ad840fe91d
|
@ -80,9 +80,11 @@ static gboolean handle_signal_keypress(GtkWidget* w,
|
||||||
static int handle_signal_keypress2(void *self, int keyval, int keycode,
|
static int handle_signal_keypress2(void *self, int keyval, int keycode,
|
||||||
GdkModifierType state, void *controller)
|
GdkModifierType state, void *controller)
|
||||||
{
|
{
|
||||||
(void) self, (void) keycode, (void) controller;
|
// (void) self, (void) keycode, (void) controller;
|
||||||
|
|
||||||
fprintf(stdout, "New keypress!\n");
|
// fprintf(stdout, "New keypress!\n");
|
||||||
|
printf("New keypress\n");
|
||||||
|
|
||||||
if (1) {
|
if (1) {
|
||||||
printf("Keypress state: %d\n", state);
|
printf("Keypress state: %d\n", state);
|
||||||
printf("Keypress value: %d\n", keyval);
|
printf("Keypress value: %d\n", keyval);
|
||||||
|
@ -92,6 +94,7 @@ static int handle_signal_keypress2(void *self, int keyval, int keycode,
|
||||||
return handle_shortcut(shortcut[i].id);
|
return handle_shortcut(shortcut[i].id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -100,6 +103,9 @@ WebKitWebView* create_new_webview()
|
||||||
{
|
{
|
||||||
|
|
||||||
WebKitWebView* view = g_object_new(WEBKIT_TYPE_WEB_VIEW, NULL);
|
WebKitWebView* view = g_object_new(WEBKIT_TYPE_WEB_VIEW, NULL);
|
||||||
|
GtkEventController *event_controller = gtk_event_controller_key_new();
|
||||||
|
g_signal_connect(event_controller, "key-pressed", G_CALLBACK(handle_signal_keypress2), NULL);
|
||||||
|
gtk_widget_add_controller(GTK_WIDGET(view), event_controller);
|
||||||
NOTNULL(view);
|
NOTNULL(view);
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user