module Gtk

Constants

GTK_PENDING_BLOCKS
GTK_PENDING_BLOCKS_LOCK

Public Class Methods

main_with_queue(timeout) click to toggle source
# File lib/virt-p2v/gtk-queue.rb, line 40
def Gtk.main_with_queue timeout
    Gtk.timeout_add timeout do
        GTK_PENDING_BLOCKS_LOCK.synchronize do
            for block in GTK_PENDING_BLOCKS
                block.call
            end
            GTK_PENDING_BLOCKS.clear
        end
        true
    end
    Gtk.main
end
queue(&block) click to toggle source
# File lib/virt-p2v/gtk-queue.rb, line 30
def Gtk.queue &block
    if Thread.current == Thread.main
        block.call
    else
        GTK_PENDING_BLOCKS_LOCK.synchronize do
            GTK_PENDING_BLOCKS << block
        end
    end
end