X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,TW_YG,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Content-Class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: Problem with Perl/Tk and Pixmap Date: Thu, 16 Dec 2010 17:27:27 -0600 Message-ID: <786EBDA1AC46254B813E200779E7AD3601440F4E@srv1163ex1.flightsafety.com> In-Reply-To: References: <20101216190751 DOT GA3017 AT ford DOT loewis DOT de> From: "Thrall, Bryan" To: X-IsSubscribed: yes 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 Andrew DeFaria wrote on 2010-12-16:=20 > On 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: >>=20 >> $ ./logotest.pl Can't bless non-reference value at >> /usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Tk/Image.pm line 23. ... >> Any ideas or suggestions what further information I could provide >> in order to sort this out? >>=20 > Reproduced. Note you problem appears to be with Tk::Image, not with > Cygwin, though you are right in that it works on Linux and complains and > dies on Cygwin. >=20 > 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. >=20 > Looking at Image.pm I see that if I break at Image.pm:23 there's a > "return bless $obj,$package" statement. In the debugger, $obj is defined > and there's no problem. If, however, I just run this without the > debugger, but put some print statements in Image.pm, I see that $obj is > indeed returned from $widget->Tk::image as undefined. >=20 > This appears to be a Perl/Tk bug. >=20 > Even stranger! Change your >=20 > $mw->Pixmap('logo', -data=3D>$icon); > to >=20 > my $foo $mw->Pixmap('logo', -data=3D>$icon); > and it works! So you have a work around, and a bug to report. I also can reproduce the problem. This behavior reminds me of a perl-Tk packaging bug from last year: http://www.cygwin.com/ml/cygwin/2009-07/msg00890.html In fact, /usr/bin/widget seems to be broken again, unless you run it in the= perl debugger: thrall AT pc1163-8413-xp ~ $ /usr/bin/widget Can't set -labelFont to `Courier 12 bold' for Tk::LabEntry=3DHASH(0x1067dac= 0): unknown option "-labelFont" at /usr/lib/perl5/vendor_perl/5.10/i686-cyg= win/Tk/Derived.pm line 294. at /usr/lib/perl5/vendor_perl/5.10/i686-cygwin/Tk/Derived.pm line 306 thrall AT pc1163-8413-xp ~ $ cygcheck -cd perl perl-Tk Cygwin Package Information Package Version cygwin 1.7.7-1 perl 5.10.1-4 perl-Tk 804.029-1 -- Bryan Thrall FlightSafety International bryan DOT thrall AT flightsafety DOT com =A0=20 -- 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