diff options
author | George Hazan <ghazan@miranda.im> | 2022-05-10 20:33:37 +0300 |
---|---|---|
committer | George Hazan <ghazan@miranda.im> | 2022-05-10 20:33:37 +0300 |
commit | d19032779296481ece089c77a2c180a4f383b788 (patch) | |
tree | aff2f5a6b1a3aedbfb4108fd349e3129d04ee856 /src/mir_app | |
parent | d2225bc38d2b7008eec2ba04078587865af935cd (diff) |
фиксы перед растаскиванием на части цикла сообщений
Diffstat (limited to 'src/mir_app')
-rw-r--r-- | src/mir_app/mir_app.mk | 7 | ||||
-rw-r--r-- | src/mir_app/mir_app.project | 1 | ||||
-rw-r--r-- | src/mir_app/src/menu_utils.cpp | 12 | ||||
-rw-r--r-- | src/mir_app/src/miranda.cpp | 14 |
4 files changed, 22 insertions, 12 deletions
diff --git a/src/mir_app/mir_app.mk b/src/mir_app/mir_app.mk index fa8afdc03a..5163e32169 100644 --- a/src/mir_app/mir_app.mk +++ b/src/mir_app/mir_app.mk @@ -62,7 +62,7 @@ AS := as ## User defined environment variables ## CodeLiteDir:=/usr/share/codelite -Objects0=$(IntermediateDirectory)/src_database.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_db_intf.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_db_events.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_contact.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_CMPluginBase.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_addcontact.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_stdafx.cxx$(ObjectSuffix) +Objects0=$(IntermediateDirectory)/src_miranda.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_database.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_db_intf.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_db_events.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_contact.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_CMPluginBase.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_addcontact.cpp$(ObjectSuffix) $(IntermediateDirectory)/src_stdafx.cxx$(ObjectSuffix) @@ -94,6 +94,11 @@ PreBuild: ## ## Objects ## +$(IntermediateDirectory)/src_miranda.cpp$(ObjectSuffix): src/miranda.cpp + $(CXX) $(IncludePCH) $(SourceSwitch) "/home/ghazan/miranda-ng/src/mir_app/src/miranda.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/src_miranda.cpp$(ObjectSuffix) $(IncludePath) +$(IntermediateDirectory)/src_miranda.cpp$(PreprocessSuffix): src/miranda.cpp + $(CXX) $(CXXFLAGS) $(IncludePCH) $(IncludePath) $(PreprocessOnlySwitch) $(OutputSwitch) $(IntermediateDirectory)/src_miranda.cpp$(PreprocessSuffix) src/miranda.cpp + $(IntermediateDirectory)/src_database.cpp$(ObjectSuffix): src/database.cpp $(CXX) $(IncludePCH) $(SourceSwitch) "/home/ghazan/miranda-ng/src/mir_app/src/database.cpp" $(CXXFLAGS) $(ObjectSwitch)$(IntermediateDirectory)/src_database.cpp$(ObjectSuffix) $(IncludePath) $(IntermediateDirectory)/src_database.cpp$(PreprocessSuffix): src/database.cpp diff --git a/src/mir_app/mir_app.project b/src/mir_app/mir_app.project index 0d7dee9b74..121dc016a2 100644 --- a/src/mir_app/mir_app.project +++ b/src/mir_app/mir_app.project @@ -3,6 +3,7 @@ <Description/> <Dependencies/> <VirtualDirectory Name="src"> + <File Name="src/miranda.cpp"/> <File Name="src/database.cpp"/> <File Name="src/db_intf.cpp"/> <File Name="src/db_events.cpp"/> diff --git a/src/mir_app/src/menu_utils.cpp b/src/mir_app/src/menu_utils.cpp index 395a19fe71..0a619a6874 100644 --- a/src/mir_app/src/menu_utils.cpp +++ b/src/mir_app/src/menu_utils.cpp @@ -83,8 +83,20 @@ LPTSTR GetMenuItemText(TMO_IntMenuItem *pimi) ///////////////////////////////////////////////////////////////////////////////
+typedef HANDLE(STDAPICALLTYPE* pfnBeginBufferedPaint)(HDC, RECT*, BP_BUFFERFORMAT, BP_PAINTPARAMS*, HDC*);
+static pfnBeginBufferedPaint beginBufferedPaint;
+
+typedef HRESULT(STDAPICALLTYPE* pfnEndBufferedPaint)(HANDLE, BOOL);
+static pfnEndBufferedPaint endBufferedPaint;
+
HBITMAP ConvertIconToBitmap(HIMAGELIST hIml, int iconId)
{
+ if (!beginBufferedPaint) {
+ HMODULE hThemeAPI = GetModuleHandleA("uxtheme.dll");
+ beginBufferedPaint = (pfnBeginBufferedPaint)GetProcAddress(hThemeAPI, "BeginBufferedPaint");
+ endBufferedPaint = (pfnEndBufferedPaint)GetProcAddress(hThemeAPI, "EndBufferedPaint");
+ }
+
BITMAPINFO bmi = { 0 };
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biPlanes = 1;
diff --git a/src/mir_app/src/miranda.cpp b/src/mir_app/src/miranda.cpp index 7c6219aa17..ab95ae30a2 100644 --- a/src/mir_app/src/miranda.cpp +++ b/src/mir_app/src/miranda.cpp @@ -42,12 +42,6 @@ pfnBufferedPaintInit bufferedPaintInit; typedef HRESULT(STDAPICALLTYPE* pfnBufferedPaintUninit)(void);
pfnBufferedPaintUninit bufferedPaintUninit;
-typedef HANDLE(STDAPICALLTYPE* pfnBeginBufferedPaint)(HDC, RECT*, BP_BUFFERFORMAT, BP_PAINTPARAMS*, HDC*);
-pfnBeginBufferedPaint beginBufferedPaint;
-
-typedef HRESULT(STDAPICALLTYPE* pfnEndBufferedPaint)(HANDLE, BOOL);
-pfnEndBufferedPaint endBufferedPaint;
-
HANDLE hOkToExitEvent, hModulesLoadedEvent;
HANDLE hShutdownEvent, hPreShutdownEvent;
uint32_t hMainThreadId;
@@ -307,8 +301,6 @@ int WINAPI mir_main(LPTSTR cmdLine) if (hThemeAPI) {
bufferedPaintInit = (pfnBufferedPaintInit)GetProcAddress(hThemeAPI, "BufferedPaintInit");
bufferedPaintUninit = (pfnBufferedPaintUninit)GetProcAddress(hThemeAPI, "BufferedPaintUninit");
- beginBufferedPaint = (pfnBeginBufferedPaint)GetProcAddress(hThemeAPI, "BeginBufferedPaint");
- endBufferedPaint = (pfnEndBufferedPaint)GetProcAddress(hThemeAPI, "EndBufferedPaint");
}
}
else hThemeAPI = nullptr;
@@ -485,9 +477,9 @@ MIR_APP_DLL(void) Miranda_GetVersionText(char *pDest, size_t cbSize) UINT blockSize;
VerQueryValue(pVerInfo, L"\\StringFileInfo\\000004b0\\ProductVersion", (LPVOID*)&productVersion, &blockSize);
strncpy_s(pDest, cbSize, _T2A(productVersion), _TRUNCATE);
-#if defined(_WIN64)
- strcat_s(pDest, cbSize, " x64");
-#endif
+ #if defined(_WIN64)
+ strcat_s(pDest, cbSize, " x64");
+ #endif
}
MIR_APP_DLL(CDlgBase *) Miranda_GetSystemWindow()
|