From: Robert M. <rob...@us...> - 2008-01-31 00:21:39
|
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; |