Update of /cvsroot/perl-win32-gui/Win32-GUI
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7112
Modified Files:
Toolbar.xs
Log Message:
Allow AddBitmap to be called multiple times to add images
Index: Toolbar.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Toolbar.xs,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** Toolbar.xs 15 Jul 2007 18:58:28 -0000 1.8
--- Toolbar.xs 31 Jan 2008 00:21:40 -0000 1.9
***************
*** 125,139 ****
HIMAGELIST imagelist;
LPPERLWIN32GUI_USERDATA perlud;
CODE:
TbAddBitmap.hInst = (HINSTANCE) NULL;
TbAddBitmap.nID = (UINT) bitmap;
imagelist = (HIMAGELIST) SendMessage(handle, TB_GETIMAGELIST, 0, 0);
! if(imagelist != NULL) {
! CROAK("AddBitmap() should not be used when toolbar has imagelist set");
XSRETURN_UNDEF;
}
- perlud = (LPPERLWIN32GUI_USERDATA) GetWindowLong((HWND) handle, GWL_USERDATA);
if( ValidUserData(perlud) ) {
perlud->dwPlStyle |= PERLWIN32GUI_TB_HASBITMAPS;
--- 125,144 ----
HIMAGELIST imagelist;
LPPERLWIN32GUI_USERDATA perlud;
+ BOOL hasBitmaps = 0;
CODE:
TbAddBitmap.hInst = (HINSTANCE) NULL;
TbAddBitmap.nID = (UINT) bitmap;
+ perlud = (LPPERLWIN32GUI_USERDATA) GetWindowLong((HWND) handle, GWL_USERDATA);
+ if( ValidUserData(perlud) ) {
+ hasBitmaps = (BOOL)(perlud->dwPlStyle & PERLWIN32GUI_TB_HASBITMAPS);
+ }
+
imagelist = (HIMAGELIST) SendMessage(handle, TB_GETIMAGELIST, 0, 0);
! if(imagelist && !hasBitmaps) {
! CROAK("AddBitmap() cannot be used when the toolbar has imagelist set");
XSRETURN_UNDEF;
}
if( ValidUserData(perlud) ) {
perlud->dwPlStyle |= PERLWIN32GUI_TB_HASBITMAPS;
|