Skip to content
This repository has been archived by the owner on May 27, 2022. It is now read-only.

Unicode characters break in INSTDIR #11

Open
novacto3 opened this issue Aug 9, 2019 · 3 comments
Open

Unicode characters break in INSTDIR #11

novacto3 opened this issue Aug 9, 2019 · 3 comments

Comments

@novacto3
Copy link

novacto3 commented Aug 9, 2019

Hello,

I use NSIS 3.04 with UltraModernUI 2.0b5 and I encountered this bug:

When I try to install software to unicode path (czech characters) like this: D:\přílišžluťoučkýkůň\Modern UI Test
it gets converted into this:
D:\prílišžlutouckýkun\Modern UI Test

UMUI

NSIS with MUI2 works correctly, so I presume it is bug in UMUI:
Test2

I used oficial example from NSIS documentation: https://nsis.sourceforge.io/Examples/Modern%20UI/MultiLanguage.nsi
Tested on Windows 10.

@SuperPat45
Copy link
Owner

The problem is located somewhere in the SkinnedControls plugin. When disabled by this two defines, it works:

!define UMUI_NO_BUTTONIMAGE
!define UMUI_NO_SCROLLBARIMAGE

I will have to reinstall the plugin development environment when I have time. But not being an expert in C++, I'm not sure I'll find the solution.

@novacto3
Copy link
Author

!define UMUI_NO_BUTTONIMAGE
!define UMUI_NO_SCROLLBARIMAGE

Thank you very much, this fixes the problem.

@alex-chung
Copy link

The coolsb project in SkinnedControls is set to "Use Multi-Byte Character Set" even for the unicode project configurations. If the GWL_WNDPROC attribute is set using SetWindowLongA instead of SetWindowLongW, this causes text be translated to ANSI when WM_GETTEXT and WM_SETTEXT messages are processed. Setting the coolsb project to "Use Unicode Character Set" for the unicode configurations seems to fix the issue for me.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants