Package: aptitude
Version: 0.6.1.5-3
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu maverick ubuntu-patch

Hi Daniel,

In Ubuntu, we've applied the attached patch to fix
<https://bugs.launchpad.net/ubuntu/+source/aptitude/+bug/391035>, a bug by
which aptitude doesn't use the full available terminal width for displaying
download information.  The patch was originally against 0.4.11.11, but it
appears to still be applicable against 0.6.2.1.  Please consider it for
inclusion upstream.

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
#! /bin/sh /usr/share/dpatch/dpatch-run
## 13_screensize.dpatch by Anders Kaseorg <ande...@mit.edu>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fixes a bug that stops outputting aptitude downloads on big screens


@DPATCH@
diff -urNad aptitude-0.4.11.11.orig/src/generic/apt/acqprogress.cc aptitude-0.4.11.11/src/generic/apt/acqprogress.cc
--- aptitude-0.4.11.11.orig/src/generic/apt/acqprogress.cc	2008-11-19 22:17:12.000000000 -0500
+++ aptitude-0.4.11.11/src/generic/apt/acqprogress.cc	2010-04-08 00:24:04.078653510 -0400
@@ -178,6 +178,8 @@
    char Buffer[1024];
    char *End = Buffer + sizeof(Buffer);
    char *S = Buffer;
+   // this->ScreenWidth is a reference that is updated by the SIGWINCH handler
+   unsigned int ScreenWidth = this->ScreenWidth;
    if (ScreenWidth >= sizeof(Buffer))
       ScreenWidth = sizeof(Buffer)-1;
 
diff -urNad aptitude-0.4.11.11.orig/src/generic/apt/acqprogress.h aptitude-0.4.11.11/src/generic/apt/acqprogress.h
--- aptitude-0.4.11.11.orig/src/generic/apt/acqprogress.h	2008-11-19 22:17:12.000000000 -0500
+++ aptitude-0.4.11.11/src/generic/apt/acqprogress.h	2010-04-08 00:26:37.878687933 -0400
@@ -20,7 +20,8 @@
 class AcqTextStatus : public sigc::trackable
 {
    unsigned int &ScreenWidth;
-   char BlankLine[300];
+   // Must be the same size as Buffer in AcqTextStatus::Pulse
+   char BlankLine[1024];
    unsigned long ID;
    unsigned long Quiet;
    

Reply via email to