From 5a6a5fd4d14f4429d21e1c6926fb9231ae78120a Mon Sep 17 00:00:00 2001 From: Sean Wei Date: Wed, 18 Jun 2025 15:30:00 -0400 Subject: [PATCH] Change `const T&&` parameters to `T&&` to enable proper move semantics Previously some constructors/functions used `const T&&`, which prevents calling the move constructor. This commit removes the `const` qualifier so that `std::move` actually performs a move. --- Telegram/SourceFiles/data/stickers/data_stickers.cpp | 2 +- Telegram/SourceFiles/data/stickers/data_stickers.h | 2 +- Telegram/SourceFiles/editor/scene/scene_item_image.cpp | 2 +- Telegram/SourceFiles/editor/scene/scene_item_image.h | 2 +- Telegram/SourceFiles/editor/scene/scene_item_line.cpp | 2 +- Telegram/SourceFiles/editor/scene/scene_item_line.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Telegram/SourceFiles/data/stickers/data_stickers.cpp b/Telegram/SourceFiles/data/stickers/data_stickers.cpp index 97e0014e89..19c8e9640f 100644 --- a/Telegram/SourceFiles/data/stickers/data_stickers.cpp +++ b/Telegram/SourceFiles/data/stickers/data_stickers.cpp @@ -789,7 +789,7 @@ void Stickers::somethingReceived( void Stickers::setPackAndEmoji( StickersSet &set, StickersPack &&pack, - const std::vector &&dates, + std::vector &&dates, const QVector &packs) { set.stickers = std::move(pack); set.dates = std::move(dates); diff --git a/Telegram/SourceFiles/data/stickers/data_stickers.h b/Telegram/SourceFiles/data/stickers/data_stickers.h index affff47b8a..cc2c7fbe4f 100644 --- a/Telegram/SourceFiles/data/stickers/data_stickers.h +++ b/Telegram/SourceFiles/data/stickers/data_stickers.h @@ -291,7 +291,7 @@ private: void setPackAndEmoji( StickersSet &set, StickersPack &&pack, - const std::vector &&dates, + std::vector &&dates, const QVector &packs); void somethingReceived( const QVector &list, diff --git a/Telegram/SourceFiles/editor/scene/scene_item_image.cpp b/Telegram/SourceFiles/editor/scene/scene_item_image.cpp index b3cc544cfd..1a939231bc 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_image.cpp +++ b/Telegram/SourceFiles/editor/scene/scene_item_image.cpp @@ -10,7 +10,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace Editor { ItemImage::ItemImage( - const QPixmap &&pixmap, + QPixmap &&pixmap, ItemBase::Data data) : ItemBase(std::move(data)) , _pixmap(std::move(pixmap)) { diff --git a/Telegram/SourceFiles/editor/scene/scene_item_image.h b/Telegram/SourceFiles/editor/scene/scene_item_image.h index 1754ac279b..320370ea27 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_image.h +++ b/Telegram/SourceFiles/editor/scene/scene_item_image.h @@ -14,7 +14,7 @@ namespace Editor { class ItemImage : public ItemBase { public: ItemImage( - const QPixmap &&pixmap, + QPixmap &&pixmap, ItemBase::Data data); void paint( QPainter *p, diff --git a/Telegram/SourceFiles/editor/scene/scene_item_line.cpp b/Telegram/SourceFiles/editor/scene/scene_item_line.cpp index 0d40e24c7d..0b68b3969d 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_line.cpp +++ b/Telegram/SourceFiles/editor/scene/scene_item_line.cpp @@ -11,7 +11,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace Editor { -ItemLine::ItemLine(const QPixmap &&pixmap) +ItemLine::ItemLine(QPixmap &&pixmap) : _pixmap(std::move(pixmap)) , _rect(QPointF(), _pixmap.size() / float64(style::DevicePixelRatio())) { } diff --git a/Telegram/SourceFiles/editor/scene/scene_item_line.h b/Telegram/SourceFiles/editor/scene/scene_item_line.h index d4746c8e39..f750fd4840 100644 --- a/Telegram/SourceFiles/editor/scene/scene_item_line.h +++ b/Telegram/SourceFiles/editor/scene/scene_item_line.h @@ -13,7 +13,7 @@ namespace Editor { class ItemLine : public NumberedItem { public: - ItemLine(const QPixmap &&pixmap); + ItemLine(QPixmap &&pixmap); QRectF boundingRect() const override; void paint( QPainter *p,