diff options
author | treectrl <treectrl> | 2007-10-03 23:01:46 (GMT) |
---|---|---|
committer | treectrl <treectrl> | 2007-10-03 23:01:46 (GMT) |
commit | 0f6799658c90e04b4d19886049c95d43ad2fbb0b (patch) | |
tree | ec560dd09e91b5ccb9c2658d8db665ed338fea1c /generic | |
parent | 059c73c4f73680f8dfcf6b0fe805fdddab73d604 (diff) | |
download | tktreectrl-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.c | 21 |
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"); } |