LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File 0552-Enable-setting-custom-application-icon-for-Mac-OS-X-.patch of Package erlang (Project home:Ledest:erlang:20)

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