[gimp-perl] Gimp::UI uses own mainloop so as not to harm Extension one.
- From: Ed J <edj src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp-perl] Gimp::UI uses own mainloop so as not to harm Extension one.
- Date: Fri, 16 May 2014 23:31:14 +0000 (UTC)
commit f227810a589ef14632e5b06c79da2298e3a30acf
Author: Ed J <edj src gnome org>
Date: Sat May 17 00:31:00 2014 +0100
Gimp::UI uses own mainloop so as not to harm Extension one.
UI/UI.pm | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
---
diff --git a/UI/UI.pm b/UI/UI.pm
index 2abe5e9..7e47568 100644
--- a/UI/UI.pm
+++ b/UI/UI.pm
@@ -656,6 +656,7 @@ sub interact($$$$@) {
$sw->add_with_viewport($table);
$w->vbox->add($sw);
+ my $mainloop = Glib::MainLoop->new;
my $button = $w->add_button('gtk-help', 3);
$button->signal_connect(clicked => sub {
help_window($helpwin, $w, $title, $help);
@@ -668,17 +669,17 @@ sub interact($$$$@) {
my $res = 0;
$button = $w->add_button('gtk-cancel', 0);
$button->signal_connect(clicked => sub {
- Gtk2->main_quit;
+ $mainloop->quit;
});
can_default $button 1;
$button = $w->add_button('gtk-ok', 1);
$button->signal_connect(clicked => sub {
$res = 1;
- Gtk2->main_quit;
+ $mainloop->quit;
});
can_default $button 1;
grab_default $button;
- $w->signal_connect(destroy => sub { Gtk2->main_quit; });
+ $w->signal_connect(destroy => sub { $mainloop->quit; });
show_all $table;
show_all $sw;
@@ -687,10 +688,12 @@ sub interact($$$$@) {
min(0.6*$sw->get_screen->get_height, $table->size_request->height + 5)
);
show_all $w;
- Gtk2->main;
+ $mainloop->run;
die $exception_text if $exception_text;
- return if $res == 0;
- return (1, map {&$_} @getvals);
+ my @retvals = map {&$_} @getvals if $res;
+ $w->destroy;
+ return unless $res;
+ return (1, @retvals);
}
1;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]