File 0542-Enable-setting-custom-application-icon-for-Mac-OS-X-.patch of Package erlang
From 0589cf1e48df6efa72b4f9c41cecde73d17fe4e9 Mon Sep 17 00:00:00 2001
From: Juan Facorro <juan.facorro@klarna.com>
Date: Sat, 12 Jan 2019 11:46:03 +0100
Subject: [PATCH 2/3] Enable setting custom application icon for Mac OS X
through environment variable
---
lib/wx/c_src/wxe_ps_init.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/lib/wx/c_src/wxe_ps_init.c b/lib/wx/c_src/wxe_ps_init.c
index a01d12647e..62c7c51c13 100644
--- a/lib/wx/c_src/wxe_ps_init.c
+++ b/lib/wx/c_src/wxe_ps_init.c
@@ -61,6 +61,9 @@ void * wxe_ps_init2() {
void * wxe_ps_init2() {
NSAutoreleasePool *pool;
ProcessSerialNumber psn;
+ size_t app_icon_len = 1023;
+ char app_icon_buf[1024];
+ char * app_icon;
// Setup and enable gui
pool = [[NSAutoreleasePool alloc] init];
@@ -71,9 +74,15 @@ void * wxe_ps_init2() {
if(!GetCurrentProcess(&psn)) {
CPSSetProcessName(&psn, app_title?app_title:"Erlang");
}
- // Load and set icon
+ // Enable setting custom application icon for Mac OS X
+ res = erl_drv_getenv("WX_APP_ICON", app_icon_buf, &app_icon_len);
NSMutableString *file = [[NSMutableString alloc] init];
- [file appendFormat:@"%s/%s", erl_wx_privdir, "erlang-logo128.png"];
+ if (res >= 0) {
+ [file appendFormat:@"%s", app_icon_buf];
+ } else {
+ [file appendFormat:@"%s/%s", erl_wx_privdir, "erlang-logo128.png"];
+ }
+ // Load and set icon
NSImage *icon = [[NSImage alloc] initWithContentsOfFile: file];
[NSApp setApplicationIconImage: icon];
};
--
2.16.4