Closed amurzeau closed 2 years ago
Hi :-)
I've just tried the latest installed from github actions at https://github.com/jackaudio/jack2-releases/actions/runs/1701889018 and found that the included QJackCtl will run fine, but without a proper UI skin:
For reference, the expected "normal" skin is like this:
This is a minor issue as all the functionality is still available.
The cause of this is that newer Qt versions use a new DLL, styles/qwindowsvistastyle.dll to manage the skin on Windows.
styles/qwindowsvistastyle.dll
I think to resolve this issue, several things needs to be changed (I've not tested it):
Add a symlink to qwindowsvistastyle.dll in pack-jack2.sh:
--- pack-jack2.old.sh 2022-01-24 22:32:53.309407400 +0100 +++ pack-jack2.new.sh 2022-01-24 22:33:39.989550800 +0100 @@ -82,6 +82,7 @@ echo "#define VERSION \"${JACK2_VERSION}\"" > "version.iss" ln -sf "${PAWPAW_PREFIX}/bin/Qt5"{Core,Gui,Network,Widgets,Xml}".dll" . ln -sf "${PAWPAW_PREFIX}/lib/qt5/plugins/platforms/qwindows.dll" . + ln -sf "${PAWPAW_PREFIX}/lib/qt5/plugins/styles/qwindowsvistastyle.dll" . ln -sf "${jack2_prefix}" "${PAWPAW_TARGET}" env WINEPREFIX="${innodir}" wine "${iscc}" "${PAWPAW_TARGET}.iss" popd
Add the installation of that DLL in jack2's InnoSetup files:
--- win64.old.iss 2022-01-24 22:33:00.637812100 +0100 +++ win64.new.iss 2022-01-24 22:34:15.801898700 +0100 @@ -45,6 +45,7 @@ Source: "win64\bin\qjackctl.exe"; DestDir: "{app}\qjackctl"; Components: qjackctl; Flags: ignoreversion; Source: "Qt5*.dll"; DestDir: "{app}\qjackctl"; Components: qjackctl; Flags: ignoreversion; Source: "qwindows.dll"; DestDir: "{app}\qjackctl\platforms"; Components: qjackctl; Flags: ignoreversion; +Source: "qwindowsvistastyle.dll"; DestDir: "{app}\qjackctl\styles"; Components: qjackctl; Flags: ignoreversion; ; dev Source: "win64\include\jack\*.h"; DestDir: "{app}\include\jack"; Components: dev; Flags: ignoreversion; Source: "win64\lib\*.a"; DestDir: "{app}\lib"; Components: dev; Flags: ignoreversion;
--- win32.old.iss 2022-01-24 22:34:47.029003200 +0100 +++ win32.new.iss 2022-01-24 22:35:12.735342600 +0100 @@ -43,6 +43,7 @@ Source: "win32\bin\qjackctl.exe"; DestDir: "{app}\qjackctl"; Components: qjackctl; Flags: ignoreversion; Source: "Qt5*.dll"; DestDir: "{app}\qjackctl"; Components: qjackctl; Flags: ignoreversion; Source: "qwindows.dll"; DestDir: "{app}\qjackctl\platforms"; Components: qjackctl; Flags: ignoreversion; +Source: "qwindowsvistastyle.dll"; DestDir: "{app}\qjackctl\styles"; Components: qjackctl; Flags: ignoreversion; ; dev Source: "win32\include\jack\*.h"; DestDir: "{app}\include\jack"; Components: dev; Flags: ignoreversion; Source: "win32\lib\*.a"; DestDir: "{app}\lib"; Components: dev; Flags: ignoreversion;
I didnt notice this, so QjackCtl stopped forcing the fusion theme then, makes sense. Do you mind pushing pull requests for these? thanks
Hi :-)
I've just tried the latest installed from github actions at https://github.com/jackaudio/jack2-releases/actions/runs/1701889018 and found that the included QJackCtl will run fine, but without a proper UI skin:![image](https://user-images.githubusercontent.com/5435069/150867996-e34db4a2-9c00-4334-ad74-8ca0e4d3a122.png)
For reference, the expected "normal" skin is like this:![image](https://user-images.githubusercontent.com/5435069/150869356-2bb15b94-5f12-4fd4-813d-026672914266.png)
This is a minor issue as all the functionality is still available.
The cause of this is that newer Qt versions use a new DLL,
styles/qwindowsvistastyle.dll
to manage the skin on Windows.I think to resolve this issue, several things needs to be changed (I've not tested it):
Add a symlink to qwindowsvistastyle.dll in pack-jack2.sh:
Add the installation of that DLL in jack2's InnoSetup files: