/** */ module declgtk.queue; private void delegate()[] callbacks; /** Queues a callback on the GTK event loop. */ void queueOnGtk(void delegate() callback) { callbacks ~= callback; } /** Executes all GTK callbacks. */ void executeGtkQueue() { auto oldCallbacks = callbacks; callbacks = []; foreach (callback; oldCallbacks) { callback(); } }