You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
GlosSI/traypp_unicode.patch

82 lines
3.4 KiB
Diff

diff --git a/tray/include/core/windows/tray.hpp b/tray/include/core/windows/tray.hpp
index ab5949922b41c519a6632544286811f379f36392..6f658feda1aae2c1770648b3bffc3af201672fe6 100755
--- a/tray/include/core/windows/tray.hpp
+++ b/tray/include/core/windows/tray.hpp
@@ -11,7 +11,7 @@ namespace Tray
{
HWND hwnd = nullptr;
HMENU menu = nullptr;
- WNDCLASSEX windowClass;
+ WNDCLASSEXA windowClass;
NOTIFYICONDATA notifyData;
std::vector<std::shared_ptr<char[]>> allocations;
diff --git a/tray/src/core/windows/image.cpp b/tray/src/core/windows/image.cpp
index 75a7868350bd1069521345826163eb9275607277..1ecb1de7edaeaff871426238862531dcf4015a76 100755
--- a/tray/src/core/windows/image.cpp
+++ b/tray/src/core/windows/image.cpp
@@ -5,7 +5,7 @@
Tray::Image::Image(HBITMAP image) : image(image) {}
Tray::Image::Image(const char *path) : Image(std::string(path)) {}
Tray::Image::Image(const std::string &path)
- : image(reinterpret_cast<HBITMAP>(LoadImage(nullptr, path.c_str(), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE)))
+ : image(reinterpret_cast<HBITMAP>(LoadImageA(nullptr, path.c_str(), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE)))
{
if (image == nullptr)
{
diff --git a/tray/src/core/windows/tray.cpp b/tray/src/core/windows/tray.cpp
index 38111083207e3e9512f24749360172b995cf2bb0..8d9326b5d700b91c81ba0aef7d8dfcea1c9e19ca 100755
--- a/tray/src/core/windows/tray.cpp
+++ b/tray/src/core/windows/tray.cpp
@@ -23,14 +23,14 @@ Tray::Tray::Tray(std::string identifier, Icon icon) : BaseTray(std::move(identif
windowClass.lpszClassName = this->identifier.c_str();
windowClass.hInstance = GetModuleHandle(nullptr);
- if (RegisterClassEx(&windowClass) == 0)
+ if (RegisterClassExA(&windowClass) == 0)
{
throw std::runtime_error("Failed to register class");
}
// NOLINTNEXTLINE
- hwnd = CreateWindow(this->identifier.c_str(), nullptr, 0, 0, 0, 0, 0, nullptr, nullptr, windowClass.hInstance,
- nullptr);
+ hwnd = CreateWindowA(this->identifier.c_str(), nullptr, 0, 0, 0, 0, 0, nullptr, nullptr, windowClass.hInstance,
+ nullptr);
if (hwnd == nullptr)
{
throw std::runtime_error("Failed to create window");
@@ -64,7 +64,7 @@ void Tray::Tray::exit()
DestroyIcon(notifyData.hIcon);
DestroyMenu(menu);
- UnregisterClass(identifier.c_str(), GetModuleHandle(nullptr));
+ UnregisterClassA(identifier.c_str(), GetModuleHandle(nullptr));
PostMessage(hwnd, WM_QUIT, 0, 0);
allocations.clear();
@@ -97,11 +97,11 @@ HMENU Tray::Tray::construct(const std::vector<std::shared_ptr<TrayEntry>> &entri
{
auto *item = entry.get();
- auto name = std::shared_ptr<char[]>(new char[item->getText().size() + 1]);
- strcpy(name.get(), item->getText().c_str()); // NOLINT
+ auto name = std::make_shared<char[]>(item->getText().size() + 1);
+ strcpy_s(name.get(), item->getText().size() + 1, item->getText().c_str()); // NOLINT
parent->allocations.emplace_back(name);
- MENUITEMINFO winItem{0};
+ MENUITEMINFOA winItem{0};
winItem.wID = ++id;
winItem.dwTypeData = name.get();
@@ -158,7 +158,7 @@ HMENU Tray::Tray::construct(const std::vector<std::shared_ptr<TrayEntry>> &entri
}
}
- InsertMenuItem(menu, id, TRUE, &winItem);
+ InsertMenuItemA(menu, id, TRUE, &winItem);
}
return menu;