5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-08 14:10:54 +08:00

Graceful shudown - FINALLY!

This commit is contained in:
Lea Anthony 2020-11-29 15:56:14 +11:00
parent 083aee1588
commit 0fa67c94c1
No known key found for this signature in database
GPG Key ID: 33DAF7BB90A58405

View File

@ -402,9 +402,8 @@ void radioMenuItemPressed(id self, SEL cmd, id sender) {
// closeWindow is called when the close button is pressed
void closeWindow(id self, SEL cmd, id sender) {
printf("\n\n\ncloseWindow called!!!!\n\n\n");
// struct Application *app = (struct Application *) objc_getAssociatedObject(self, "application");
// app->sendMessageToBackend("WC");
struct Application *app = (struct Application *) objc_getAssociatedObject(self, "application");
app->sendMessageToBackend("WC");
}
bool isDarkMode(struct Application *app) {
@ -985,10 +984,10 @@ void DarkModeEnabled(struct Application *app, const char *callbackID) {
void createDelegate(struct Application *app) {
// Define delegate
Class delegateClass = objc_allocateClassPair((Class) c("NSResponder"), "AppDelegate", 0);
class_addProtocol(delegateClass, objc_getProtocol("NSTouchBarProvider"));
Class delegateClass = objc_allocateClassPair((Class) c("NSObject"), "AppDelegate", 0);
bool resultAddProtoc = class_addProtocol(delegateClass, objc_getProtocol("NSApplicationDelegate"));
class_addMethod(delegateClass, s("applicationShouldTerminateAfterLastWindowClosed:"), (IMP) yes, "c@:@");
class_addMethod(delegateClass, s("windowWillClose:"), (IMP) closeWindow, "v@:@");
class_addMethod(delegateClass, s("applicationWillTerminate:"), (IMP) closeWindow, "v@:@");
// Menu Callbacks
class_addMethod(delegateClass, s("menuCallback:"), (IMP)menuItemPressed, "v@:@");