aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <thierry.vignaud@gmail.com>2013-12-28 18:05:00 +0100
committerThierry Vignaud <thierry.vignaud@gmail.com>2013-12-28 18:05:00 +0100
commit6dd904fd6ed78449c5607c77c0563ab7a823c1e8 (patch)
treec7c38cea5398b8eec4d9b4b324d0e9928d114855
parentbb13e368a7976f1b34073b468585008ed66bd86e (diff)
downloadrpmdrake-6dd904fd6ed78449c5607c77c0563ab7a823c1e8.tar
rpmdrake-6dd904fd6ed78449c5607c77c0563ab7a823c1e8.tar.gz
rpmdrake-6dd904fd6ed78449c5607c77c0563ab7a823c1e8.tar.bz2
rpmdrake-6dd904fd6ed78449c5607c77c0563ab7a823c1e8.tar.xz
rpmdrake-6dd904fd6ed78449c5607c77c0563ab7a823c1e8.zip
(add_nodes) fix slow update of pkgs list (mga#12000)
we freeze the tree updates & detach the model while updating it (from PyGtk FAQ: http://faq.pygtk.org/index.py?req=show&file=faq13.043.htp)
-rw-r--r--NEWS1
-rw-r--r--Rpmdrake/gui.pm5
2 files changed, 6 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 2449f333..d7cbd462 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,4 @@
+- fix slow update of pkgs list (mga#12000)
- --merge-all-rpmnew mode:
o fix a warning
diff --git a/Rpmdrake/gui.pm b/Rpmdrake/gui.pm
index 4e287455..e10629ac 100644
--- a/Rpmdrake/gui.pm
+++ b/Rpmdrake/gui.pm
@@ -539,10 +539,15 @@ sub ask_browse_tree_given_widgets_for_rpmdrake {
};
$common->{add_nodes} = sub {
my (@nodes) = @_;
+ $w->{detail_list}->freeze_child_notify;
+ my $model = $w->{detail_list}->get_model;
+ $w->{detail_list}->set_model;
$w->{detail_list_model}->clear;
$w->{detail_list}->scroll_to_point(0, 0);
add_node($_->[0], $_->[1], $_->[2]) foreach @nodes;
update_size($common);
+ $w->{detail_list}->set_model($model);
+ $w->{detail_list}->thaw_child_notify;
};
$common->{display_info} = sub {