summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authortreectrl <treectrl>2007-10-03 23:01:46 (GMT)
committertreectrl <treectrl>2007-10-03 23:01:46 (GMT)
commit0f6799658c90e04b4d19886049c95d43ad2fbb0b (patch)
treeec560dd09e91b5ccb9c2658d8db665ed338fea1c /generic
parent059c73c4f73680f8dfcf6b0fe805fdddab73d604 (diff)
downloadtktreectrl-0f6799658c90e04b4d19886049c95d43ad2fbb0b.zip
tktreectrl-0f6799658c90e04b4d19886049c95d43ad2fbb0b.tar.gz
tktreectrl-0f6799658c90e04b4d19886049c95d43ad2fbb0b.tar.bz2
Check for potential NULL pointer in TreeTheme_ThemeChanged. [BUG 1805700]
Diffstat (limited to 'generic')
-rw-r--r--generic/tkTreeTheme.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/generic/tkTreeTheme.c b/generic/tkTreeTheme.c
index de81c6a..6c1a1f6 100644
--- a/generic/tkTreeTheme.c
+++ b/generic/tkTreeTheme.c
@@ -5,7 +5,7 @@
*
* Copyright (c) 2006 Tim Baker
*
- * RCS: @(#) $Id: tkTreeTheme.c,v 1.20 2007/02/06 22:34:05 treectrl Exp $
+ * RCS: @(#) $Id: tkTreeTheme.c,v 1.21 2007/10/03 23:01:46 treectrl Exp $
*/
#ifdef WIN32
@@ -686,18 +686,23 @@ void TreeTheme_ThemeChanged(TreeCtrl *tree)
Window win = Tk_WindowId(tree->tkwin);
HWND hwnd = Tk_GetHWND(win);
- if (tree->themeData->hThemeHEADER != NULL) {
- procs->CloseThemeData(tree->themeData->hThemeHEADER);
- tree->themeData->hThemeHEADER = NULL;
- }
- if (tree->themeData->hThemeTREEVIEW != NULL) {
- procs->CloseThemeData(tree->themeData->hThemeTREEVIEW);
- tree->themeData->hThemeTREEVIEW = NULL;
+ if (tree->themeData != NULL) {
+ if (tree->themeData->hThemeHEADER != NULL) {
+ procs->CloseThemeData(tree->themeData->hThemeHEADER);
+ tree->themeData->hThemeHEADER = NULL;
+ }
+ if (tree->themeData->hThemeTREEVIEW != NULL) {
+ procs->CloseThemeData(tree->themeData->hThemeTREEVIEW);
+ tree->themeData->hThemeTREEVIEW = NULL;
+ }
}
if (!appThemeData->themeEnabled || !procs)
return;
+ if (tree->themeData == NULL)
+ tree->themeData = (TreeThemeData) ckalloc(sizeof(TreeThemeData_));
+
tree->themeData->hThemeHEADER = procs->OpenThemeData(hwnd, L"HEADER");
tree->themeData->hThemeTREEVIEW = procs->OpenThemeData(hwnd, L"TREEVIEW");
}