X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org MIME-Version: 1.0 In-Reply-To: References: <20101216190751 DOT GA3017 AT ford DOT loewis DOT de> Date: Fri, 17 Dec 2010 09:41:19 +0100 Message-ID: Subject: Re: Problem with Perl/Tk and Pixmap From: Csaba Raduly To: cygwin AT cygwin DOT com Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Thu, Dec 16, 2010 at 10:25 PM, Andrew DeFaria wrote: > =A0On 12/16/2010 02:07 PM, Johannes v. L=F6wis wrote: >> >> I have a Perl/Tk script that is supposed to show a pixmap on the left >> side of the title bar of the main window. It works on Linux and on a >> rather old version of Cygwin 1.5. >> On Cygwin 1.7 (on XP Home and Prof) the following happens: >> >> $ ./logotest.pl >> Can't bless non-reference value at >> /usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Tk/Image.pm line 23. >> >> $ cat logotest.pl >> #!/usr/bin/perl >> use strict; >> use warnings; >> use Tk; >> >> my $mw =3D new MainWindow; >> my $icon =3D '/* XPM */ >> static char *Camel[] =3D { >> /* width height num_colors chars_per_pixel */ >> " =A0 =A032 =A0 =A032 =A0 =A0 =A0 =A02 =A0 =A0 =A0 =A0 =A0 =A01", >> /* colors */ >> ". c #ffffff", >> "# c #7f7f00", >> /* pixels */ >> "................................", >> "................................", >> "...................###..........", >> ".......####......######.........", >> "....####.##.....########........", >> "....########....#########.......", >> "......######..###########.......", >> "......#####..#############......", >> ".....######.##############......", >> ".....######.###############.....", >> ".....######################.....", >> ".....#######################....", >> ".....#######################....", >> "......#######################...", >> ".......####################.#...", >> "........###################.#...", >> "........###############.###.#...", >> "............#######.###.###.#...", >> "............###.###.##...##.....", >> "............###.###..#...##.....", >> "............##.####..#....#.....", >> "............##.###...#....#.....", >> "............##.##...#.....#.....", >> "............#...#...#.....#.....", >> "............#....#..#.....#.....", >> "............#.....#.#.....#.....", >> "............#.....###.....#.....", >> "...........##....##.#....#......", >> "...........#..............#.....", >> ".........###.............#......" >> "................................", >> "................................", >> };'; >> >> $mw->Pixmap('logo', -data=3D>$icon); >> $mw->iconimage('logo'); >> MainLoop; >> >> $ uname -a >> CYGWIN_NT-5.1 user-e90cadfdc0 1.7.7(0.230/5/3) 2010-08-31 09:58 i686 >> Cygwin >> >> >> Any ideas or suggestions what further information I could provide >> in order to sort this out? >> > Reproduced. Note you problem appears to be with Tk::Image, not with Cygwi= n, > though you are right in that it works on Linux and complains and dies on > Cygwin. > > Interestingly, if you run your program and the Perl debugger (i.e. perl -d > logtest.pl) then simply type c for continue it works fine. > Reminds me of this, although it involves menus: http://cygwin.com/ml/cygwin/2010-11/msg00130.html Csaba --=20 GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++ Life is complex, with real and imaginary parts. "Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torv= alds "People disagree with me. I just ignore them." -- Linus Torvalds -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple