From e779a9401a2971e0338fdf3e7dffaa60629d3b28 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Wed, 27 Nov 2013 16:51:55 +0100 Subject: prevent looping forever when sizing partition tabs spot while trying to reproduce mga#11779 this code has always been tricky and has bugs since introduced (see eg: resizing occuring when switching partition tabs) --- perl-install/NEWS | 2 ++ perl-install/diskdrake/hd_gtk.pm | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/perl-install/NEWS b/perl-install/NEWS index 63cae8189..a1bf32067 100644 --- a/perl-install/NEWS +++ b/perl-install/NEWS @@ -4,6 +4,8 @@ - Banners: o align text to left instead of centering it o text is rendered as blue again +- diskdrake: + o prevent looping forever when sizing partition tabs Version 16.0 - 23 November 2013 diff --git a/perl-install/diskdrake/hd_gtk.pm b/perl-install/diskdrake/hd_gtk.pm index 583df7ae2..d98f25cac 100644 --- a/perl-install/diskdrake/hd_gtk.pm +++ b/perl-install/diskdrake/hd_gtk.pm @@ -324,7 +324,8 @@ sub create_buttons4partitions { $width = $w->{window}->get_allocated_width - first(get_action_box_size()) - 25 if $w->{window}->get_window; my $ratio = $totalsectors ? ($width - @parts * $minwidth) / $totalsectors : 1; - while (1) { + my $i = 1; + while ($i < 30) { my $totalwidth = sum(map { $_->{size} * $ratio + $minwidth } @parts); $totalwidth <= $width and last; $ratio /= $totalwidth / $width * 1.1; -- cgit v1.2.1