Skip to content

Commit 7a4ca78

Browse files
committed
bugfix again
1 parent c668319 commit 7a4ca78

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

CommandTrayHost/cache.cpp

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ bool is_cache_not_expired(bool is_from_flush/*,bool is_from_other_thread*/)
5555
RETURN_LEAVECRITIALCAL(true);
5656
}
5757
}
58-
if (TRUE != PathFileExists(cache_filename))
58+
if (enable_cache && TRUE != PathFileExists(cache_filename))
5959
{
6060
if (is_from_flush && global_stat != nullptr)
6161
{
@@ -87,9 +87,13 @@ bool is_cache_not_expired(bool is_from_flush/*,bool is_from_other_thread*/)
8787
HANDLE json_hFile = CreateFile(json_filename, GENERIC_READ,
8888
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
8989
FILE_ATTRIBUTE_NORMAL, NULL);
90-
HANDLE cache_hFile = CreateFile(cache_filename, GENERIC_READ,
91-
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
92-
FILE_ATTRIBUTE_NORMAL, NULL);
90+
HANDLE cache_hFile = nullptr;
91+
if (enable_cache)
92+
{
93+
cache_hFile = CreateFile(cache_filename, GENERIC_READ,
94+
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
95+
FILE_ATTRIBUTE_NORMAL, NULL);
96+
}
9397

9498
#define CLOSE_CREATEFILE(fp) { \
9599
if(fp)CloseHandle(fp); \
@@ -98,24 +102,24 @@ bool is_cache_not_expired(bool is_from_flush/*,bool is_from_other_thread*/)
98102

99103
#define RETURN_AND_CLOSE_CREATEFILE(ret) { \
100104
CLOSE_CREATEFILE(json_hFile);\
101-
CLOSE_CREATEFILE(cache_hFile);\
105+
if(enable_cache)CLOSE_CREATEFILE(cache_hFile);\
102106
RETURN_LEAVECRITIALCAL(ret); \
103107
}
104-
if (!json_hFile || !cache_hFile)
108+
if (!json_hFile || (enable_cache && !cache_hFile))
105109
{
106110
LOGMESSAGE(L"CreateFile failed\n");
107111
RETURN_AND_CLOSE_CREATEFILE(false);
108112
}
109113
FILETIME json_write_timestamp, cache_write_timestamp;
110114
if (!GetFileTime(json_hFile, NULL, NULL, &json_write_timestamp) ||
111-
!GetFileTime(cache_hFile, NULL, NULL, &cache_write_timestamp))
115+
(enable_cache && !GetFileTime(cache_hFile, NULL, NULL, &cache_write_timestamp)))
112116
{
113117
LOGMESSAGE(L"GetFileTime failed\n");
114118
RETURN_AND_CLOSE_CREATEFILE(false);
115119
}
116120
CLOSE_CREATEFILE(json_hFile);
117-
CLOSE_CREATEFILE(cache_hFile);
118-
if (CompareFileTime(&json_write_timestamp, &cache_write_timestamp) >= 0)
121+
if (enable_cache)CLOSE_CREATEFILE(cache_hFile);
122+
if (!enable_cache || (enable_cache && CompareFileTime(&json_write_timestamp, &cache_write_timestamp) >= 0))
119123
{
120124
LOGMESSAGE(L"json_write_timestamp is later than cache_write_timestamp\n");
121125
bool return_val = false;
@@ -149,7 +153,7 @@ bool is_cache_not_expired(bool is_from_flush/*,bool is_from_other_thread*/)
149153
{
150154
result = is_reloading_config ? IDCANCEL : IDNO;
151155
}
152-
if (IDNO == result || IDCANCEL == result)
156+
if (enable_cache && (IDNO == result || IDCANCEL == result))
153157
{
154158
return_val = true;
155159
if (global_stat == nullptr || IDCANCEL == result)

CommandTrayHost/filewatcher.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ DWORD WINAPI WatchDirectory(LPVOID lpParam)
5454
//is_cache_not_expired(true, true);
5555
extern HWND hWnd;
5656
SendMessage(hWnd, WM_COMMAND, WM_TASKBARNOTIFY_MENUITEM_CHECK_CACHEVALID, NULL);
57+
Sleep(500);
5758
//PostMessage(hWnd, WM_COMMAND, WM_TASKBARNOTIFY_MENUITEM_CHECK_CACHEVALID, NULL);
5859
if (FindNextChangeNotification(dwChangeHandles) == FALSE)
5960
{

0 commit comments

Comments
 (0)