Skip to content

Commit a71e26f

Browse files
committed
v2.17.5
1 parent 0bc35c4 commit a71e26f

File tree

9 files changed

+51
-41
lines changed

9 files changed

+51
-41
lines changed

client/base/backend/preferences/preferences.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -985,6 +985,7 @@ void Preferences::validateAndUpdateIfNeeded()
985985
if (!bCorrect)
986986
{
987987
cdi.type = CONNECTED_DNS_TYPE_AUTO;
988+
cdi.isSplitDns = false;
988989
engineSettings_.setConnectedDnsInfo(cdi);
989990
emit connectedDnsInfoChanged(engineSettings_.connectedDnsInfo());
990991
is_update_needed = true;

client/common/changelog.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
2.17.5 (15/09/2025)
2+
All:
3+
* Fixed incorrect scroll position in preferences. #1465
4+
* Fixed custom DNS preferences behaviour. #1470
5+
Windows:
6+
* Fixed playing a sound may capture the audio device, preventing Windows from sleeping. #1410
7+
MacOS:
8+
* Fixed regression in the in-app updater for macOS. #1471
9+
10+
111
2.17.4 (04/09/2025)
212
All:
313
* Improved highlight colours used in log viewer. #1213

client/common/version/windscribe_version.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
#define WINDSCRIBE_MAJOR_VERSION 2
44
#define WINDSCRIBE_MINOR_VERSION 17
5-
#define WINDSCRIBE_BUILD_VERSION 4
5+
#define WINDSCRIBE_BUILD_VERSION 5
66

77
// only one of these should be enabled; neither -> stable
8-
//#define WINDSCRIBE_IS_BETA
9-
#define WINDSCRIBE_IS_GUINEA_PIG
8+
#define WINDSCRIBE_IS_BETA
9+
//#define WINDSCRIBE_IS_GUINEA_PIG
1010

1111
#define STR_HELPER(x) #x
1212
#define STR(x) STR_HELPER(x)

client/gui/mainwindow.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1386,7 +1386,10 @@ void MainWindow::onPreferencesReportErrorToUser(const QString &title, const QStr
13861386

13871387
void MainWindow::onPreferencesCollapsed()
13881388
{
1389-
backend_->getPreferences()->validateAndUpdateIfNeeded();
1389+
// Suppress validation if we're showing an alert; we should return to preferences after
1390+
if (mainWindowController_->currentWindow() != MainWindowController::WINDOW_ID_GENERAL_MESSAGE) {
1391+
backend_->getPreferences()->validateAndUpdateIfNeeded();
1392+
}
13901393
}
13911394

13921395
#if defined(Q_OS_LINUX)

client/gui/mainwindowcontroller.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3303,13 +3303,6 @@ void MainWindowController::onAppSkinChanged(APP_SKIN s)
33033303
preferencesWindow_->boundingRect().height() - childWindowShadowOffsetY(false)));
33043304
invalidateShadow_mac();
33053305
keepWindowInsideScreenCoordinates();
3306-
3307-
int scrollOffset = 2*UPDATE_WIDGET_HEIGHT;
3308-
if (s != APP_SKIN_VAN_GOGH && !updateAppItem_->isVisible()) {
3309-
scrollOffset = 0;
3310-
}
3311-
preferencesWindow_->setScrollOffset(scrollOffset);
3312-
windowSizeManager_->setScrollPos(preferencesWindow_, scrollOffset);
33133306
}
33143307

33153308
// update window heights

client/gui/preferenceswindow/connectionwindow/connecteddnsgroup.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ ConnectedDnsGroup::ConnectedDnsGroup(ScalableGraphicsObject *parent, const QStri
2828

2929
splitDnsCheckBox_ = new ToggleItem(this);
3030
splitDnsCheckBox_->setState(false);
31+
splitDnsCheckBox_->setEnabled(false);
3132
connect(splitDnsCheckBox_, &ToggleItem::stateChanged, this, &ConnectedDnsGroup::onSplitDnsStateChanged);
3233
addItem(splitDnsCheckBox_, true);
3334

@@ -69,9 +70,10 @@ void ConnectedDnsGroup::setConnectedDnsInfo(const types::ConnectedDnsInfo &dns)
6970
else
7071
comboBoxDns_->setCurrentItem(CONNECTED_DNS_TYPE_CUSTOM);
7172

73+
splitDnsCheckBox_->setState(dns.isSplitDns);
7274
editBoxUpstream1_->setText(dns.upStream1);
75+
onUpstream1Changed(dns.upStream1);
7376
editBoxUpstream2_->setText(dns.upStream2);
74-
splitDnsCheckBox_->setState(dns.isSplitDns);
7577
domainsItem_->setLinkText(QString::number(dns.hostnames.count()));
7678

7779
updateMode();
@@ -105,6 +107,12 @@ void ConnectedDnsGroup::onConnectedDnsModeChanged(QVariant v)
105107

106108
void ConnectedDnsGroup::onUpstream1Changed(QString v)
107109
{
110+
if (v.isEmpty()) {
111+
splitDnsCheckBox_->setState(false);
112+
onSplitDnsStateChanged(false);
113+
}
114+
splitDnsCheckBox_->setEnabled(!v.isEmpty());
115+
108116
if (settings_.upStream1 != v) {
109117
checkDnsLeak(v);
110118
settings_.upStream1 = v;
@@ -129,7 +137,6 @@ void ConnectedDnsGroup::onSplitDnsStateChanged(bool checked)
129137
if (settings_.isSplitDns && !checked) {
130138
hideItems(indexOf(editBoxUpstream2_), indexOf(domainsItem_));
131139
} else { // show additional items
132-
checkDnsLeak(settings_.upStream2);
133140
showItems(indexOf(editBoxUpstream1_), indexOf(domainsItem_));
134141
}
135142

client/gui/sounds/soundmanager.cpp

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,11 @@
99
SoundManager::SoundManager(QObject *parent, Preferences *preferences)
1010
: QObject(parent), preferences_(preferences), audioEngineInitialized_(false), soundInitialized_(false), shouldLoop_(false), connectedEventQueued_(false)
1111
{
12-
initialize(); // NOLINT
1312
}
1413

1514
SoundManager::~SoundManager()
1615
{
17-
cleanup();
18-
}
19-
20-
void SoundManager::initialize()
21-
{
22-
ma_result result = ma_engine_init(NULL, &audioEngine_);
23-
if (result != MA_SUCCESS) {
24-
qCDebug(LOG_BASIC) << "Failed to initialize miniaudio engine: " << result;
25-
return;
26-
}
27-
audioEngineInitialized_ = true;
28-
}
29-
30-
void SoundManager::cleanup()
31-
{
32-
if (audioEngineInitialized_) {
33-
cleanupCurrentSoundData();
34-
ma_engine_uninit(&audioEngine_);
35-
audioEngineInitialized_ = false;
36-
}
16+
cleanupCurrentSoundData();
3717
}
3818

3919
void SoundManager::handleQueuedConnectedEvent()
@@ -84,12 +64,16 @@ void SoundManager::stop()
8464
void SoundManager::playSound(const QString &path, bool loop)
8565
{
8666
qCDebug(LOG_BASIC) << "Playing sound" << path;
87-
if (!audioEngineInitialized_) {
88-
qCDebug(LOG_BASIC) << "Audio engine not initialized";
67+
68+
cleanupCurrentSoundData();
69+
70+
ma_result result = ma_engine_init(NULL, &audioEngine_);
71+
if (result != MA_SUCCESS) {
72+
qCDebug(LOG_BASIC) << "Failed to initialize miniaudio engine: " << result;
8973
return;
9074
}
91-
cleanupCurrentSoundData();
92-
ma_result result;
75+
audioEngineInitialized_ = true;
76+
9377
if (path.startsWith(":/sounds")) { // load from resources
9478
QFile file(path);
9579
if (!file.open(QIODevice::ReadOnly)) {
@@ -140,6 +124,7 @@ void SoundManager::playSound(const QString &path, bool loop)
140124

141125
void SoundManager::cleanupCurrentSoundData()
142126
{
127+
qCDebug(LOG_BASIC) << "Cleaning up current sound data";
143128
if (soundInitialized_) {
144129
ma_sound_stop(&sound_);
145130
ma_sound_uninit(&sound_);
@@ -150,6 +135,12 @@ void SoundManager::cleanupCurrentSoundData()
150135
ma_decoder_uninit(&decoder_);
151136
decoderInitialized_ = false;
152137
}
138+
139+
if (audioEngineInitialized_) {
140+
ma_engine_uninit(&audioEngine_);
141+
audioEngineInitialized_ = false;
142+
}
143+
153144
audioBuffer_.clear();
154145
}
155146

client/gui/sounds/soundmanager.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ private slots:
2222

2323
private:
2424
static void endCallback(void* pUserData, ma_sound* pSound);
25-
void initialize();
26-
void cleanup();
2725
void playSound(const QString &path, bool loop);
2826
void cleanupCurrentSoundData();
2927

installer/mac/installer/CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ add_subdirectory(../../common ${CMAKE_CURRENT_BINARY_DIR}/common)
4343

4444
set_target_properties(installer
4545
PROPERTIES
46-
OUTPUT_NAME "WindscribeInstaller"
46+
OUTPUT_NAME "installer"
4747
MACOSX_BUNDLE TRUE
4848
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/Info.plist
4949
COMPILE_WARNING_AS_ERROR TRUE
@@ -98,3 +98,10 @@ install(TARGETS installer
9898
LIBRARY DESTINATION "installer.app/Contents/Frameworks"
9999
BUNDLE DESTINATION .
100100
)
101+
102+
# Rename bundle after installation
103+
install(CODE "
104+
execute_process(COMMAND ${CMAKE_COMMAND} -E rename
105+
\${CMAKE_INSTALL_PREFIX}/installer.app
106+
\${CMAKE_INSTALL_PREFIX}/WindscribeInstaller.app)
107+
")

0 commit comments

Comments
 (0)