aboutsummaryrefslogtreecommitdiffstats
path: root/Rpmdrake/gui.pm
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 /Rpmdrake/gui.pm
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)
Diffstat (limited to 'Rpmdrake/gui.pm')
-rw-r--r--Rpmdrake/gui.pm5
1 files changed, 5 insertions, 0 deletions
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 {