UI::Dialog::Backend::Zenity checklist return data is not a list

Bug #451602 reported by Schplurtz le déboulonné on 2009-10-14
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libui-dialog-perl (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: libui-dialog-perl

 Because of '' instead of "" in
 /usr/share/perl5/UI/Dialog/Backend/Zenity.pm , a \n is interpreted
 literally. The responses from Zenity are separated by the
 **string** '\n', not by a newline. So, perl fails to split the
 answer into an array.

 perl -x this message to see the problem.
 A Patch is provided below.

 sudo apt-get install zenity dialog
#! /usr/bin/perl
 print "please, do the same choice for each backend.\n" .
       "Select at least 2 item\n\tPress RETURN to start";
 my $dum=<STDIN>;
 my( $d, %results, @checkSelect );
 for my $backend (qw/Zenity XOSD XDialog GDialog KDialog
                  CDialog Whiptail ASCII/) {
  eval "use UI::Dialog::Backend::$backend;
        \$d=new UI::Dialog::Backend::$backend (
         backtitle => 'Zenity checklist bug demo',
         title => $backend );";
  if( $@ ) {
   print STDERR "skipping backend $backend\n", $@, "\n\n";
   next;
  }
  @checkSelect = $d->checklist(
   list => [ 'test', [ 'testing', 1 ],
      'b', [ 'beeing', '1' ],
      'c', [ 'seeing', '0' ]
    ]
  );
  if ($d->state() eq "OK") {
   $results{$backend}="# elem ".
    @checkSelect .
    " : '".join("' '",@checkSelect)."'";
  }
 }
 for my $r (keys %results) {
  printf "%10s : %s\n", $r, $results{$r};
 }
__END__

patch for Zenity.pm

--- /usr/share/perl5/UI/Dialog/Backend/Zenity.pm 2004-10-04 05:19:29.000000000 +0200
+++ UI/Dialog/Backend/Zenity.pm 2009-01-13 00:30:11.000000000 +0100
@@ -364,7 +364,7 @@

     my $command = $self->_mk_cmnd(" --list",$args);
     $command .= ($args->{'checklist'}) ? ' --checklist' : ($args->{'radiolist'}) ? ' --radiolist' : "";
- $command .= ' --separator "\n"';
+ $command .= " --separator '\n'";
     #: not quite sure how to implement the editability...
     # $command .= ' --editable' unless not $args->{'editable'};
     #: --text is not implemented for list widgets, yet...

ProblemType: Bug
Architecture: i386
DistroRelease: Ubuntu 9.04
NonfreeKernelModules: nvidia wl
Package: libui-dialog-perl 1.08-1.1
PackageArchitecture: all
ProcEnviron:
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
SourcePackage: libui-dialog-perl
Uname: Linux 2.6.28-15-generic i686

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers