Update of /cvsroot/perl-win32-gui/Win32-GUI
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11771
Modified Files:
CHANGELOG GUI_Helpers.cpp
Log Message:
perlud->svSelf is a weak ref, and will be undef is the thing it was referencing has been destroyed.
Index: GUI_Helpers.cpp
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI_Helpers.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** GUI_Helpers.cpp 20 Jan 2007 19:45:44 -0000 1.24
--- GUI_Helpers.cpp 8 Feb 2008 16:42:11 -0000 1.25
***************
*** 66,70 ****
// Check perlpud
if (perlud != NULL) {
! HWND hwnd_self = handle_From(NOTXSCALL perlud->svSelf);
// Free event hash
--- 66,70 ----
// Check perlpud
if (perlud != NULL) {
! HWND hwnd_self = SvOK(perlud->svSelf) ? handle_From(NOTXSCALL perlud->svSelf) : NULL;
// Free event hash
***************
*** 127,131 ****
// If we stored an original wndproc, then restore it so that
// WM_NCDESTORY messages get there.
! if (perlud->WndProc) {
SetWindowLong(hwnd_self, GWL_WNDPROC, (LONG)(perlud->WndProc));
}
--- 127,131 ----
// If we stored an original wndproc, then restore it so that
// WM_NCDESTORY messages get there.
! if (hwnd_self && perlud->WndProc) {
SetWindowLong(hwnd_self, GWL_WNDPROC, (LONG)(perlud->WndProc));
}
Index: CHANGELOG
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/CHANGELOG,v
retrieving revision 1.140
retrieving revision 1.141
diff -C2 -d -r1.140 -r1.141
*** CHANGELOG 8 Feb 2008 14:44:57 -0000 1.140
--- CHANGELOG 8 Feb 2008 16:42:11 -0000 1.141
***************
*** 7,10 ****
--- 7,14 ----
===================
+ [Robert May] : 8 February 2008 - Correct number of tests
+ - t\GUI_Helpers.cpp - fix another spot where we could be calling
+ handle_From() with a weak (and already freed) SV.
+
+ + [Robert May] : 8 February 2008 - Correct number of tests
- t\02_window.t - correct test count for new test added
|