diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2022-06-21 02:02:04 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2022-06-21 02:02:04 +0200 |
commit | 8031da622a7c3c86c1d212858b2e5b239e98322c (patch) | |
tree | a6164f83ffc525da523b183dc0682c28e2a35e22 /src/interface-gtk | |
parent | 0894eff5d9f5e904e23f1e582616af9e8b9772cc (diff) | |
download | sciteco-8031da622a7c3c86c1d212858b2e5b239e98322c.tar.gz |
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)
Diffstat (limited to 'src/interface-gtk')
-rw-r--r-- | src/interface-gtk/interface.c | 8 |
1 files changed, 8 insertions, 0 deletions
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; } |