From 3c2f8189a5e834c1f2aa53230da69b97e3171e81 Mon Sep 17 00:00:00 2001 From: MenTaLguY Date: Sun, 21 May 2006 20:36:01 +0000 Subject: call GC::request_early_collection() after switching preview images (bzr r923) --- src/gc.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/gc.cpp') diff --git a/src/gc.cpp b/src/gc.cpp index 7333b4641..8d89de26a 100644 --- a/src/gc.cpp +++ b/src/gc.cpp @@ -12,6 +12,8 @@ #include "gc-core.h" #include #include +#include +#include namespace Inkscape { namespace GC { @@ -264,6 +266,26 @@ void Core::init() { _ops.do_init(); } + +namespace { + +bool collection_requested=false; +bool collection_task() { + Core::gcollect(); + Core::gcollect(); + collection_requested=false; + return false; +} + +} + +void request_early_collection() { + if (!collection_requested) { + collection_requested=true; + Glib::signal_idle().connect(sigc::ptr_fun(&collection_task)); + } +} + } } -- cgit v1.2.3