From 7aa403b0a0d8ecf1e59c9d4ab3709181941e2f4c Mon Sep 17 00:00:00 2001 From: Iain Patterson Date: Sun, 29 Dec 2013 17:25:54 +0000 Subject: [PATCH] Fixed loading localised resources. We weren't loading the correct resources for non-English languages when compiled as a Unicode application. We now explicitly call FindResourceEx(), LoadResource() and CreateDialogIndirectParam() to ensure the appropriate windows are shown. We now explicitly pass GetUserDefaultLangID() to FormatMessage(), falling back to language neutral if it fails. Resources and messages are now explicitly UTF-16LE. That means that git will treat them as binary and refuse to diff them. To work around that, add the following to .git/info/attributes: *.mc diff=utf16 *.rc diff=utf16 and the following to .git/config: [diff "utf16"] textconv = "iconv -f utf-16le -t utf-8" --- event.cpp | 14 +++++++++----- gui.cpp | 39 +++++++++++++++++++++++++++++---------- messages.mc | Bin 53699 -> 107400 bytes nssm.rc | Bin 19100 -> 32152 bytes nssm.vcproj | 8 ++++---- 5 files changed, 42 insertions(+), 19 deletions(-) diff --git a/event.cpp b/event.cpp index 6744da2..1313351 100644 --- a/event.cpp +++ b/event.cpp @@ -14,8 +14,10 @@ TCHAR *error_string(unsigned long error) { TlsSetValue(tls_index, (void *) error_message); } - if (! FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 0, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (TCHAR *) error_message, NSSM_ERROR_BUFSIZE, 0)) { - if (_sntprintf_s(error_message, NSSM_ERROR_BUFSIZE, _TRUNCATE, _T("system error %lu"), error) < 0) return 0; + if (! FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 0, error, GetUserDefaultLangID(), (TCHAR *) error_message, NSSM_ERROR_BUFSIZE, 0)) { + if (! FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, 0, error, 0, (TCHAR *) error_message, NSSM_ERROR_BUFSIZE, 0)) { + if (_sntprintf_s(error_message, NSSM_ERROR_BUFSIZE, _TRUNCATE, _T("system error %lu"), error) < 0) return 0; + } } return error_message; } @@ -23,9 +25,11 @@ TCHAR *error_string(unsigned long error) { /* Convert message code to format string */ TCHAR *message_string(unsigned long error) { TCHAR *ret; - if (! FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_IGNORE_INSERTS, 0, error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &ret, NSSM_ERROR_BUFSIZE, 0)) { - ret = (TCHAR *) HeapAlloc(GetProcessHeap(), 0, 32 * sizeof(TCHAR)); - if (_sntprintf_s(ret, NSSM_ERROR_BUFSIZE, _TRUNCATE, _T("system error %lu"), error) < 0) return 0; + if (! FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_IGNORE_INSERTS, 0, error, GetUserDefaultLangID(), (LPTSTR) &ret, NSSM_ERROR_BUFSIZE, 0)) { + if (! FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_IGNORE_INSERTS, 0, error, 0, (LPTSTR) &ret, NSSM_ERROR_BUFSIZE, 0)) { + ret = (TCHAR *) HeapAlloc(GetProcessHeap(), 0, 32 * sizeof(TCHAR)); + if (_sntprintf_s(ret, NSSM_ERROR_BUFSIZE, _TRUNCATE, _T("system error %lu"), error) < 0) return 0; + } } return ret; } diff --git a/gui.cpp b/gui.cpp index 6832129..d9b7011 100644 --- a/gui.cpp +++ b/gui.cpp @@ -4,9 +4,28 @@ static enum { NSSM_TAB_APPLICATION, NSSM_TAB_DETAILS, NSSM_TAB_LOGON, NSSM_TAB_S static HWND tablist[NSSM_NUM_TABS]; static int selected_tab; +static HWND dialog(const TCHAR *templ, HWND parent, DLGPROC function, LPARAM l) { + /* The caller will deal with GetLastError()... */ + HRSRC resource = FindResourceEx(0, RT_DIALOG, templ, GetUserDefaultLangID()); + if (! resource) { + if (GetLastError() != ERROR_RESOURCE_LANG_NOT_FOUND) return 0; + resource = FindResourceEx(0, RT_DIALOG, templ, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL)); + if (! resource) return 0; + } + + HGLOBAL ret = LoadResource(0, resource); + if (! ret) return 0; + + return CreateDialogIndirectParam(0, (DLGTEMPLATE *) ret, parent, function, l); +} + +static HWND dialog(const TCHAR *templ, HWND parent, DLGPROC function) { + return dialog(templ, parent, function, 0); +} + int nssm_gui(int resource, nssm_service_t *service) { /* Create window */ - HWND dlg = CreateDialogParam(0, MAKEINTRESOURCE(resource), 0, nssm_dlg, (LPARAM) service); + HWND dlg = dialog(MAKEINTRESOURCE(resource), 0, nssm_dlg, (LPARAM) service); if (! dlg) { popup_message(MB_OK, NSSM_GUI_CREATEDIALOG_FAILED, error_string(GetLastError())); return 1; @@ -837,18 +856,18 @@ INT_PTR CALLBACK nssm_dlg(HWND window, UINT message, WPARAM w, LPARAM l) { tab.cchTextMax = (int) _tcslen(tab.pszText); SendMessage(tabs, TCM_INSERTITEM, NSSM_TAB_APPLICATION, (LPARAM) &tab); if (service->native) { - tablist[NSSM_TAB_APPLICATION] = CreateDialog(0, MAKEINTRESOURCE(IDD_NATIVE), window, tab_dlg); + tablist[NSSM_TAB_APPLICATION] = dialog(MAKEINTRESOURCE(IDD_NATIVE), window, tab_dlg); EnableWindow(tablist[NSSM_TAB_APPLICATION], 0); EnableWindow(GetDlgItem(tablist[NSSM_TAB_APPLICATION], IDC_PATH), 0); } - else tablist[NSSM_TAB_APPLICATION] = CreateDialog(0, MAKEINTRESOURCE(IDD_APPLICATION), window, tab_dlg); + else tablist[NSSM_TAB_APPLICATION] = dialog(MAKEINTRESOURCE(IDD_APPLICATION), window, tab_dlg); ShowWindow(tablist[NSSM_TAB_APPLICATION], SW_SHOW); /* Details tab. */ tab.pszText = message_string(NSSM_GUI_TAB_DETAILS); tab.cchTextMax = (int) _tcslen(tab.pszText); SendMessage(tabs, TCM_INSERTITEM, NSSM_TAB_DETAILS, (LPARAM) &tab); - tablist[NSSM_TAB_DETAILS] = CreateDialog(0, MAKEINTRESOURCE(IDD_DETAILS), window, tab_dlg); + tablist[NSSM_TAB_DETAILS] = dialog(MAKEINTRESOURCE(IDD_DETAILS), window, tab_dlg); ShowWindow(tablist[NSSM_TAB_DETAILS], SW_HIDE); /* Set defaults. */ @@ -863,7 +882,7 @@ INT_PTR CALLBACK nssm_dlg(HWND window, UINT message, WPARAM w, LPARAM l) { tab.pszText = message_string(NSSM_GUI_TAB_LOGON); tab.cchTextMax = (int) _tcslen(tab.pszText); SendMessage(tabs, TCM_INSERTITEM, NSSM_TAB_LOGON, (LPARAM) &tab); - tablist[NSSM_TAB_LOGON] = CreateDialog(0, MAKEINTRESOURCE(IDD_LOGON), window, tab_dlg); + tablist[NSSM_TAB_LOGON] = dialog(MAKEINTRESOURCE(IDD_LOGON), window, tab_dlg); ShowWindow(tablist[NSSM_TAB_LOGON], SW_HIDE); /* Set defaults. */ @@ -877,7 +896,7 @@ INT_PTR CALLBACK nssm_dlg(HWND window, UINT message, WPARAM w, LPARAM l) { tab.pszText = message_string(NSSM_GUI_TAB_SHUTDOWN); tab.cchTextMax = (int) _tcslen(tab.pszText); SendMessage(tabs, TCM_INSERTITEM, NSSM_TAB_SHUTDOWN, (LPARAM) &tab); - tablist[NSSM_TAB_SHUTDOWN] = CreateDialog(0, MAKEINTRESOURCE(IDD_SHUTDOWN), window, tab_dlg); + tablist[NSSM_TAB_SHUTDOWN] = dialog(MAKEINTRESOURCE(IDD_SHUTDOWN), window, tab_dlg); ShowWindow(tablist[NSSM_TAB_SHUTDOWN], SW_HIDE); /* Set defaults. */ @@ -893,7 +912,7 @@ INT_PTR CALLBACK nssm_dlg(HWND window, UINT message, WPARAM w, LPARAM l) { tab.pszText = message_string(NSSM_GUI_TAB_EXIT); tab.cchTextMax = (int) _tcslen(tab.pszText); SendMessage(tabs, TCM_INSERTITEM, NSSM_TAB_EXIT, (LPARAM) &tab); - tablist[NSSM_TAB_EXIT] = CreateDialog(0, MAKEINTRESOURCE(IDD_APPEXIT), window, tab_dlg); + tablist[NSSM_TAB_EXIT] = dialog(MAKEINTRESOURCE(IDD_APPEXIT), window, tab_dlg); ShowWindow(tablist[NSSM_TAB_EXIT], SW_HIDE); /* Set defaults. */ @@ -909,14 +928,14 @@ INT_PTR CALLBACK nssm_dlg(HWND window, UINT message, WPARAM w, LPARAM l) { tab.pszText = message_string(NSSM_GUI_TAB_IO); tab.cchTextMax = (int) _tcslen(tab.pszText) + 1; SendMessage(tabs, TCM_INSERTITEM, NSSM_TAB_IO, (LPARAM) &tab); - tablist[NSSM_TAB_IO] = CreateDialog(0, MAKEINTRESOURCE(IDD_IO), window, tab_dlg); + tablist[NSSM_TAB_IO] = dialog(MAKEINTRESOURCE(IDD_IO), window, tab_dlg); ShowWindow(tablist[NSSM_TAB_IO], SW_HIDE); /* Rotation tab. */ tab.pszText = message_string(NSSM_GUI_TAB_ROTATION); tab.cchTextMax = (int) _tcslen(tab.pszText) + 1; SendMessage(tabs, TCM_INSERTITEM, NSSM_TAB_ROTATION, (LPARAM) &tab); - tablist[NSSM_TAB_ROTATION] = CreateDialog(0, MAKEINTRESOURCE(IDD_ROTATION), window, tab_dlg); + tablist[NSSM_TAB_ROTATION] = dialog(MAKEINTRESOURCE(IDD_ROTATION), window, tab_dlg); ShowWindow(tablist[NSSM_TAB_ROTATION], SW_HIDE); /* Set defaults. */ @@ -928,7 +947,7 @@ INT_PTR CALLBACK nssm_dlg(HWND window, UINT message, WPARAM w, LPARAM l) { tab.pszText = message_string(NSSM_GUI_TAB_ENVIRONMENT); tab.cchTextMax = (int) _tcslen(tab.pszText) + 1; SendMessage(tabs, TCM_INSERTITEM, NSSM_TAB_ENVIRONMENT, (LPARAM) &tab); - tablist[NSSM_TAB_ENVIRONMENT] = CreateDialog(0, MAKEINTRESOURCE(IDD_ENVIRONMENT), window, tab_dlg); + tablist[NSSM_TAB_ENVIRONMENT] = dialog(MAKEINTRESOURCE(IDD_ENVIRONMENT), window, tab_dlg); ShowWindow(tablist[NSSM_TAB_ENVIRONMENT], SW_HIDE); return 1; diff --git a/messages.mc b/messages.mc index 3c4ae05e9fd366f44fea64b1d6b44454da320cfa..40a7f1c9157cf8e7d2d9c6a7a97343db318530c7 100644 GIT binary patch literal 107400 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

aat`o@Mb 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 AfB*mh diff --git a/nssm.rc b/nssm.rc index 3c03bb451b6290105aba7a2568654859d54cead7..b620e5e217d556750929a48a323032c2000b75a9 100644 GIT binary patch literal 32152 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 VyYWY6xjoZ5SnhQ?Gs>R#{y+4%Nd5o- literal 19100 zcmeHPYj4_E8vY(B|KTk2VN(rF!X>xSY9(Wv#Hz7b+a&F(67ql(tb&bflTK%6f6)An z`D6RM=h$GdAp2nkQ8;1A$YYNB-q8$M?K~u| zU>JUmk4OI`y6yu|z%)hf+m7UD@`9wrHFos2_68q#!O*`yJlH!)-_7_YHt=xoOM-)H z@G$n{5j*M~zdL?2=T}Swf-mfELbSspsr?>ewauO-t9?b+->_ePVfhao$-3^V#x?QC zzbAh7?=+)PKRnPSDwi+8_)v zo~3WuXFnOSaroJb6Br(QbjLG~O~>v4h;;8qxSE8_3*uSiF?Tv0`vW)e!+`neTu{}C z>jyDZC5Zhv@q&cmV|P4e@fW%l##Aw5N{1Nnn zdc}9g;X}rb9c)8Wl)h#Fpmd!nnxvc8?6gY1^~>`rtJTjB4{Yayt}?~$cT7dn+m_T( z*)R0oR-LwKICyhs_hqT;XkY+;(>1%ju6SvGusf>JJ3Pp4sBqrJUi9e0J%HH>*y}}L z4xj9@$|@b3*)F7Ddy#*S5B?+6AN+MJQ_uLyDwQgSS4V2qs_ahg<3)N8C*h*X@LNB> zs#FK8UmF?LTR=B*t3e{Dirck`2<0ZN|5;C56A zsoT{x8Sx@;AvI9oSDg^~94L2jmN(EFRo52~e5=`73s5ca_(szeyoBkdnD{inUR!3b z+cMv009lb1KC+07gso@T(s^n&1$*nd$!HZ*YXF%Vfbk6fZ-c2_$w5?iLD)zB=$tUE zfT;j~yRW|QOR}tXowlZ{i28_#0)8AHAE$)0Ec4C=T-O_5Z|yAoo8oJM6gzRFWHx0( zKk^2!oG)c`H30hC(xqsYAge+6zHhSne0ok=0}|rots~8xQV0~65kxL$TY}oUbZrZg zn&kK{$qjBNDejkcG!p|BvT$LqXCZ0)@DHckGSI$#Zu*`i!?Kzf&7$VE2 z(hDMbP*g|Kbo=$uN%0cbAID$8d&Q5D6?|c3QD25oO<=+{2&HItSC>AB;BO98JDWSm71JGNkcBn>2<~K&M=~OO6X1=PHx$K#WK5!d1oMr`4CZO6O={WJzKR>!-6$7NKYc6H2#c%N@!RcFig(S-)ynU(^&FK8&tY0XBUp-2s~``2ts z4g*vpCS|)KORAH|w#YZLRlp6}6}P2w_N?w|XTz~?dJb9T>w~^Mnk6W*22Z1YLEW>$ zE(8CQC>+0)(@8q2b7LwLC)=ium@u=Qi-qkJAkpzBUN}ouWms!K5@Z|O3h|w$>$#QB z$!xJ~oubl$nhQA^y-rKD*67w`6;x_hq^)E%P_0$9D)7igC7RuJ`m%1?DnUY8(_ZEj zYOv4-OqrT-jb5xv12%DrFkmN6%~vKy5g_cDQ9K;qhEd%R)kHArUp=Jo;8QY+Ja?Ee zKh-Gbh7K)k!6*V8?(0%Ul>rUchQ%l%lE7xqM2ejhwP7bEr%B30S5PU(iza@6Qz15u z!U3wt%en-w($Nskr*=mGcma~Zq@7U;xwHCyQBirltiTyXVUmpf;9)&X)se}U23v|p zp(#rBlyfp1m*gwe(F}Fb`!Hf-FcM1Vt^#3(U9|>ML%4O zUM}v{%-46^+KCBl8iP46{W=OQeDE@X3r7SJx_rtTVcBzlNv>UERviTMWxj3Qfk85s$~i4 zc&%yg<+E%BP93*ZLPk{3c6Ld?)^DVi+xEvEgInS!o=;m}!HruUKS(7cjT3k_mg=k< z3{N0jA>w;1lKFSX>KQ0x=i=!auc-(GFV0U}^KeYNn1M4d9nZ5xDlx2a0OUI&AE|3b zB7r)ejD=&UU74@U(!g4MF>#rT6#Kw=Co%*c%{39E{I0kx<58B7)-JFEim2c!SDkht zD%(KnkN(5MdRi&ALhHkvi5qBbeQ=P+>O9CNYALyFer-ObR)=AhOi8)u{;BfRZd9 zK8mD}?CDkZ@%-SE)PN8Bm%5_guRALE= z*Yi=!EjGD+h-w-$3BbvnN>c!Ot6C194)PQ?tXyrTK(%tYUQ0U>=z0r*x7q2S$B9Cb z%iJe7ruFZ1`g(0Kf9`S?3G;(z{?C)0ID2e75j{A>aCYlOG2*$5`L}i-ys>e7iN2Dy zNsOX5LOw(^9nYl~8MT6Bw=eGKTBg#Ioy|AVH2ln|BiZj5R&BTYirVU3L*2!@uBBS4 zu1dB#Z|f3w2!75d5W85s&BpWDFw`5z-sT~6lW5?}2sCYWYubJ4D?_2griQibBj-a` zWw&jokBne(6(=qHgVUc*(IS#lwic?o@6e|L=N3GW57&Zw>LjA+a<}of;?~pV>D6gd zZKgMs+(?&hCB3JjaU`4&UXeeljFM#f!^sJ6%^VC)a^rIYXbZXX3L592Lox`1xAAQ7 zi2{Q(dtwtez!4X98PNFbCtaB4NmU1P#W-W$e zW>l?Xq!gtiyHPlt4H5$lJ~WJ0+IZtro8q=c#LQo$BD!^>&GJbpcOvvQjk7R}PTn@P zFIGi^W7|>n+JG7PVnW2BRK+YK|{LT|Ckn2R4^Y&SR1VJf& z>z7pAd5-SKw9!xWoeuv#3+8Z{BGYShK^o|DAI`F!td>@ItqNi13-&=Ghe5WwrWum9 z0vTm}euZX8DVXt&Qr;c9+zpu<%5#mE?}oHz(zZGi4Xko?x^;u(CcC7x=%tL3 zIstbU$TM~&e>?U_oLNz;shtsI!-Fjs3ZB1B()#V!=`kMQVZ+~kowyMmyD4oKqFNrc$*)$r$|@nelaUDH z-5>iVEZ-q{#(@+|VdVCE{&Gl{QKeNmLH4(P8J7vMMQ$ZL*R-evjlnjpK>d zyi()f3}4BbiiyWO7Tw1S%44!W`EfnaDlxDX#tXT;3D>owM$*=kjvJ(M`|gtv8HUNJ}aCWN%rPo&Jny*rVs~9(}w- zz3i2;(liIe9#$iyS4c`-k&qHYD7DNzEwoh-?DA3ax0aBmlDGUxxV_XjC8L;W7C!np zX5|ynC!f+o?z1HIr8M+e9@E=wh%cFkrm{fNwY?~wHw|491%KK$car&HPsdUg`V!W+ zoPloEi*GRpf$K1!qqT`^{ znm3c+|E&{HN*;Iuy7yM2+>?4wC!i!>f7KHbL0^%85=p!fxcpJ2_4&{)M)FOipy1xO zVH>-0oMP)e{>(%5MH57p<023sGpNi|?7qeNPPXhCMT6Ne)4nlzijN{{Zrn5>NmD diff --git a/nssm.vcproj b/nssm.vcproj index 3b52894..dfac3e5 100755 --- a/nssm.vcproj +++ b/nssm.vcproj @@ -718,7 +718,7 @@ @@ -728,7 +728,7 @@ @@ -738,7 +738,7 @@ @@ -749,7 +749,7 @@ -- 2.7.4