Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Fixed some compiler warnings #5028

Merged
merged 11 commits into from
Dec 16, 2023
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@
- Dev: Refactored the Image Uploader feature. (#4971)
- Dev: Fixed deadlock and use-after-free in tests. (#4981)
- Dev: Load less message history upon reconnects. (#5001)
- Dev: Fixed most compiler warnings. (#5028)

## 2.4.6

Expand Down
1 change: 0 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1067,7 +1067,6 @@ else ()
-Wno-switch
-Wno-deprecated-declarations
-Wno-sign-compare
-Wno-unused-variable

# Disabling strict-aliasing warnings for now, although we probably want to re-enable this in the future
-Wno-strict-aliasing
Expand Down
2 changes: 1 addition & 1 deletion src/RunGui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ namespace {
{
// set up the QApplication flags
QApplication::setAttribute(Qt::AA_Use96Dpi, true);
#ifdef Q_OS_WIN32
#if defined(Q_OS_WIN32) && QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
QApplication::setAttribute(Qt::AA_DisableHighDpiScaling, true);
#endif

Expand Down
62 changes: 21 additions & 41 deletions src/common/Env.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,16 @@
#include "common/QLogging.hpp"
#include "util/TypeName.hpp"

#include <QtGlobal>
#include <QVariant>

namespace chatterino {

namespace {

template <typename T>
void warn(const char *envName, T defaultValue)
void warn(const char *envName, const QString &envString, T defaultValue)
{
auto *envString = std::getenv(envName);
if (!envString)
{
// This function is not supposed to be used for non-existant
// environment variables.
return;
}

const auto typeName = QString::fromStdString(
std::string(type_name<decltype(defaultValue)>()));

Expand All @@ -33,54 +26,41 @@ namespace {
.arg(defaultValue);
}

QString readStringEnv(const char *envName, QString defaultValue)
{
auto envString = std::getenv(envName);
if (envString != nullptr)
{
return QString(envString);
}

return defaultValue;
}

std::optional<QString> readOptionalStringEnv(const char *envName)
{
auto envString = std::getenv(envName);
if (envString != nullptr)
auto envString = qEnvironmentVariable(envName);
if (!envString.isEmpty())
{
return QString(envString);
return envString;
}

return std::nullopt;
}

uint16_t readPortEnv(const char *envName, uint16_t defaultValue)
{
auto envString = std::getenv(envName);
if (envString != nullptr)
auto envString = qEnvironmentVariable(envName);
if (!envString.isEmpty())
{
bool ok;
auto val = QString(envString).toUShort(&ok);
bool ok = false;
auto val = envString.toUShort(&ok);
if (ok)
{
return val;
}
else
{
warn(envName, defaultValue);
}

warn(envName, envString, defaultValue);
}

return defaultValue;
}

uint16_t readBoolEnv(const char *envName, bool defaultValue)
bool readBoolEnv(const char *envName, bool defaultValue)
{
auto envString = std::getenv(envName);
if (envString != nullptr)
auto envString = qEnvironmentVariable(envName);
if (!envString.isEmpty())
{
return QVariant(QString(envString)).toBool();
return QVariant(envString).toBool();
}

return defaultValue;
Expand All @@ -90,14 +70,14 @@ namespace {

Env::Env()
: recentMessagesApiUrl(
readStringEnv("CHATTERINO2_RECENT_MESSAGES_URL",
"https://recent-messages.robotty.de/api/v2/"
"recent-messages/%1"))
, linkResolverUrl(readStringEnv(
qEnvironmentVariable("CHATTERINO2_RECENT_MESSAGES_URL",
"https://recent-messages.robotty.de/api/v2/"
"recent-messages/%1"))
, linkResolverUrl(qEnvironmentVariable(
"CHATTERINO2_LINK_RESOLVER_URL",
"https://braize.pajlada.com/chatterino/link_resolver/%1"))
, twitchServerHost(
readStringEnv("CHATTERINO2_TWITCH_SERVER_HOST", "irc.chat.twitch.tv"))
, twitchServerHost(qEnvironmentVariable("CHATTERINO2_TWITCH_SERVER_HOST",
"irc.chat.twitch.tv"))
, twitchServerPort(readPortEnv("CHATTERINO2_TWITCH_SERVER_PORT", 443))
, twitchServerSecure(readBoolEnv("CHATTERINO2_TWITCH_SERVER_SECURE", true))
, proxyUrl(readOptionalStringEnv("CHATTERINO2_PROXY_URL"))
Expand Down
2 changes: 1 addition & 1 deletion src/controllers/commands/builtin/twitch/Shoutout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ QString sendShoutout(const CommandContext &ctx)

getHelix()->getUserByName(
target,
[twitchChannel, channel, currentUser, &target](const auto targetUser) {
[twitchChannel, channel, currentUser](const auto targetUser) {
getHelix()->sendShoutout(
twitchChannel->roomId(), targetUser.id,
currentUser->getUserId(),
Expand Down
8 changes: 4 additions & 4 deletions src/controllers/notifications/NotificationController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -208,11 +208,11 @@ void NotificationController::checkStream(bool live, QString channelName)

void NotificationController::removeFakeChannel(const QString channelName)
{
auto i = std::find(fakeTwitchChannels.begin(), fakeTwitchChannels.end(),
channelName);
if (i != fakeTwitchChannels.end())
auto it = std::find(fakeTwitchChannels.begin(), fakeTwitchChannels.end(),
channelName);
if (it != fakeTwitchChannels.end())
{
fakeTwitchChannels.erase(i);
fakeTwitchChannels.erase(it);
// "delete" old 'CHANNEL is live' message
LimitedQueueSnapshot<MessagePtr> snapshot =
getApp()->twitch->liveChannel->getMessageSnapshot();
Expand Down
4 changes: 2 additions & 2 deletions src/controllers/sound/MiniaudioBackend.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -256,8 +256,8 @@ void MiniaudioBackend::play(const QUrl &sound)
if (sound.isLocalFile())
{
auto soundPath = sound.toLocalFile();
auto result = ma_engine_play_sound(this->engine.get(),
qPrintable(soundPath), nullptr);
result = ma_engine_play_sound(this->engine.get(),
qPrintable(soundPath), nullptr);
if (result != MA_SUCCESS)
{
qCWarning(chatterinoSound) << "Failed to play sound" << sound
Expand Down
4 changes: 0 additions & 4 deletions src/providers/irc/AbstractIrcServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@

namespace chatterino {

const int RECONNECT_BASE_INTERVAL = 2000;
// 60 falloff counter means it will try to reconnect at most every 60*2 seconds
const int MAX_FALLOFF_COUNTER = 60;

// Ratelimits for joinBucket_
const int JOIN_RATELIMIT_BUDGET = 18;
const int JOIN_RATELIMIT_COOLDOWN = 12500;
Expand Down
2 changes: 1 addition & 1 deletion src/providers/irc/IrcConnection2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ IrcConnection::IrcConnection(QObject *parent)
{
// Log connection errors for ease-of-debugging
QObject::connect(this, &Communi::IrcConnection::socketError, this,
[this](QAbstractSocket::SocketError error) {
[](QAbstractSocket::SocketError error) {
qCDebug(chatterinoIrc) << "Connection error:" << error;
});

Expand Down
1 change: 0 additions & 1 deletion src/providers/twitch/PubSubManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,6 @@ PubSub::PubSub(const QString &host, std::chrono::seconds pingInterval)
}

action.target.login = args[0].toString();
bool ok;
action.messageText = args[1].toString();
action.messageId = args[2].toString();

Expand Down
1 change: 0 additions & 1 deletion src/providers/twitch/TwitchChannel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ namespace {
#else
const QString MAGIC_MESSAGE_SUFFIX = QString::fromUtf8(u8" \U000E0000");
#endif
constexpr int TITLE_REFRESH_PERIOD = 10000;
constexpr int CLIP_CREATION_COOLDOWN = 5000;
const QString CLIPS_LINK("https://clips.twitch.tv/%1");
const QString CLIPS_FAILURE_CLIPS_DISABLED_TEXT(
Expand Down
4 changes: 2 additions & 2 deletions src/providers/twitch/TwitchMessageBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1729,7 +1729,7 @@ void TwitchMessageBuilder::listOfUsersSystemMessage(
MessagePtr TwitchMessageBuilder::buildHypeChatMessage(
Communi::IrcPrivateMessage *message)
{
auto level = message->tag(u"pinned-chat-paid-level"_s).toString();
auto levelID = message->tag(u"pinned-chat-paid-level"_s).toString();
auto currency = message->tag(u"pinned-chat-paid-currency"_s).toString();
bool okAmount = false;
auto amount = message->tag(u"pinned-chat-paid-amount"_s).toInt(&okAmount);
Expand All @@ -1743,7 +1743,7 @@ MessagePtr TwitchMessageBuilder::buildHypeChatMessage(
// additionally, there's `pinned-chat-paid-is-system-message` which isn't used by Chatterino.

QString subtitle;
auto levelIt = HYPE_CHAT_PAID_LEVEL.find(level);
auto levelIt = HYPE_CHAT_PAID_LEVEL.find(levelID);
if (levelIt != HYPE_CHAT_PAID_LEVEL.end())
{
const auto &level = levelIt->second;
Expand Down
2 changes: 1 addition & 1 deletion src/singletons/WindowManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -750,7 +750,7 @@ void WindowManager::applyWindowLayout(const WindowLayout &layout)
// out of bounds windows
auto screens = qApp->screens();
bool outOfBounds =
!getenv("I3SOCK") &&
!qEnvironmentVariableIsSet("I3SOCK") &&
std::none_of(screens.begin(), screens.end(),
[&](QScreen *screen) {
return screen->availableGeometry().intersects(
Expand Down
6 changes: 3 additions & 3 deletions src/util/AttachToConsole.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#ifdef USEWINSDK
# include <Windows.h>

# include <iostream>
# include <tuple>
#endif

namespace chatterino {
Expand All @@ -13,8 +13,8 @@ void attachToConsole()
#ifdef USEWINSDK
if (AttachConsole(ATTACH_PARENT_PROCESS))
{
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
std::ignore = freopen_s(nullptr, "CONOUT$", "w", stdout);
std::ignore = freopen_s(nullptr, "CONOUT$", "w", stderr);
}
#endif
}
Expand Down
2 changes: 1 addition & 1 deletion src/widgets/BaseWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ float BaseWindow::scale() const

float BaseWindow::qtFontScale() const
{
return this->scale() / std::max<float>(0.01, this->nativeScale_);
return this->scale() / std::max<float>(0.01F, this->nativeScale_);
}

void BaseWindow::init()
Expand Down
6 changes: 4 additions & 2 deletions src/widgets/Label.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,11 +95,13 @@ void Label::paintEvent(QPaintEvent *)
QFontMetrics metrics = getFonts()->getFontMetrics(
this->getFontStyle(),
this->scale() * 96.f /
std::max<float>(0.01, this->logicalDpiX() * deviceDpi));
std::max<float>(
0.01F, static_cast<float>(this->logicalDpiX() * deviceDpi)));
painter.setFont(getFonts()->getFont(
this->getFontStyle(),
this->scale() * 96.f /
std::max<float>(0.02, this->logicalDpiX() * deviceDpi)));
std::max<float>(
0.02F, static_cast<float>(this->logicalDpiX() * deviceDpi))));

int offset = this->getOffset();

Expand Down
6 changes: 3 additions & 3 deletions src/widgets/dialogs/ReplyThreadPopup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -238,11 +238,11 @@ void ReplyThreadPopup::addMessagesFromThread()
this->ui_.threadView->setChannel(this->virtualChannel_);
this->ui_.threadView->setSourceChannel(sourceChannel);

auto overrideFlags =
auto rootOverrideFlags =
std::optional<MessageFlags>(this->thread_->root()->flags);
overrideFlags->set(MessageFlag::DoNotLog);
rootOverrideFlags->set(MessageFlag::DoNotLog);

this->virtualChannel_->addMessage(this->thread_->root(), overrideFlags);
this->virtualChannel_->addMessage(this->thread_->root(), rootOverrideFlags);
for (const auto &msgRef : this->thread_->replies())
{
if (auto msg = msgRef.lock())
Expand Down
32 changes: 0 additions & 32 deletions src/widgets/dialogs/UserInfoPopup.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -992,43 +992,11 @@ UserInfoPopup::TimeoutWidget::TimeoutWidget()
.setLayoutType<QHBoxLayout>()
.withoutMargin();

QColor color1(255, 255, 255, 80);
QColor color2(255, 255, 255, 0);

int buttonWidth = 40;
// int buttonWidth = 24;
int buttonWidth2 = 32;
int buttonHeight = 32;

layout->setSpacing(16);

//auto addButton = [&](Action action, const QString &text,
// const QPixmap &pixmap) {
// auto vbox = layout.emplace<QVBoxLayout>().withoutMargin();
// {
// auto title = vbox.emplace<QHBoxLayout>().withoutMargin();
// title->addStretch(1);
// auto label = title.emplace<Label>(text);
// label->setHasOffset(false);
// label->setStyleSheet("color: #BBB");
// title->addStretch(1);

// auto hbox = vbox.emplace<QHBoxLayout>().withoutMargin();
// hbox->setSpacing(0);
// {
// auto button = hbox.emplace<Button>(nullptr);
// button->setPixmap(pixmap);
// button->setScaleIndependantSize(buttonHeight, buttonHeight);
// button->setBorderColor(QColor(255, 255, 255, 127));

// QObject::connect(
// button.getElement(), &Button::leftClicked, [this, action] {
// this->buttonClicked.invoke(std::make_pair(action, -1));
// });
// }
// }
//};

const auto addLayout = [&](const QString &text) {
auto vbox = layout.emplace<QVBoxLayout>().withoutMargin();
auto title = vbox.emplace<QHBoxLayout>().withoutMargin();
Expand Down
10 changes: 6 additions & 4 deletions src/widgets/helper/ChannelView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2888,12 +2888,14 @@ void ChannelView::setInputReply(const MessagePtr &message)
if (!message->replyThread)
{
// Message did not already have a thread attached, try to find or create one
if (auto *tc =
dynamic_cast<TwitchChannel *>(this->underlyingChannel_.get()))
auto *tc =
dynamic_cast<TwitchChannel *>(this->underlyingChannel_.get());
if (!tc)
{
tc->getOrCreateThread(message);
tc = dynamic_cast<TwitchChannel *>(this->channel_.get());
}
else if (auto *tc = dynamic_cast<TwitchChannel *>(this->channel_.get()))

if (tc)
{
tc->getOrCreateThread(message);
}
Expand Down
1 change: 0 additions & 1 deletion src/widgets/helper/NotebookTab.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -424,7 +424,6 @@ void NotebookTab::paintEvent(QPaintEvent *)

// select the right tab colors
Theme::TabColors colors;
Theme::TabColors regular = this->theme->tabs.regular;

if (this->selected_)
colors = this->theme->tabs.selected;
Expand Down
1 change: 0 additions & 1 deletion src/widgets/listview/GenericListView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,6 @@ void GenericListView::refreshTheme(const Theme &theme)
bool GenericListView::acceptCompletion()
{
const QModelIndex &curIdx = this->currentIndex();
const int curRow = curIdx.row();
const int count = this->model_->rowCount(curIdx);
if (count <= 0)
{
Expand Down
4 changes: 2 additions & 2 deletions src/widgets/settingspages/GeneralPageView.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,9 @@ class GeneralPageView : public QWidget
{
auto *combo = this->addDropdown(text, {}, std::move(toolTipText));

for (const auto &text : items)
for (const auto &item : items)
{
combo->addItem(QString::fromStdString(std::string(text)));
combo->addItem(QString::fromStdString(std::string(item)));
}

if (!defaultValueText.isEmpty())
Expand Down
Loading
Loading