From 8031da622a7c3c86c1d212858b2e5b239e98322c Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Tue, 21 Jun 2022 02:02:04 +0200 Subject: Gtk+: Stop memory limiting when idling * the same is done in the Curses UI * important for platforms that require busy polling of memory usage (Win32) --- src/interface-gtk/interface.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/interface-gtk') diff --git a/src/interface-gtk/interface.c b/src/interface-gtk/interface.c index c32d2e3..207d01c 100644 --- a/src/interface-gtk/interface.c +++ b/src/interface-gtk/interface.c @@ -54,6 +54,7 @@ #include "cmdline.h" #include "qreg.h" #include "ring.h" +#include "memory.h" #include "interface.h" //#define DEBUG @@ -1063,6 +1064,9 @@ teco_interface_event_loop(GError **error) g_unix_signal_add(SIGTERM, teco_interface_sigterm_handler, NULL); #endif + /* don't limit while waiting for input as this might be a busy operation */ + teco_memory_stop_limiting(); + gtk_main(); /* @@ -1155,6 +1159,8 @@ teco_interface_key_pressed_cb(GtkWidget *widget, GdkEventKey *event, gpointer us recursed = TRUE; + teco_memory_start_limiting(); + g_queue_push_tail(teco_interface.event_queue, gdk_event_copy((GdkEvent *)event)); GdkWindow *top_window = gdk_window_get_toplevel(gtk_widget_get_window(teco_interface.window)); @@ -1194,6 +1200,8 @@ teco_interface_key_pressed_cb(GtkWidget *widget, GdkEventKey *event, gpointer us gtk_main_iteration_do(FALSE); } while (!g_queue_is_empty(teco_interface.event_queue)); + teco_memory_stop_limiting(); + recursed = FALSE; return TRUE; } -- cgit v1.2.3