small fixes in Image
This commit is contained in:
+11
-10
@@ -1,5 +1,14 @@
|
||||
#include "messages/Image.hpp"
|
||||
|
||||
#include <QBuffer>
|
||||
#include <QImageReader>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
#include <QNetworkRequest>
|
||||
#include <QTimer>
|
||||
#include <functional>
|
||||
#include <thread>
|
||||
|
||||
#include "Application.hpp"
|
||||
#include "common/Common.hpp"
|
||||
#include "common/NetworkRequest.hpp"
|
||||
@@ -11,15 +20,6 @@
|
||||
#include "util/DebugCount.hpp"
|
||||
#include "util/PostToThread.hpp"
|
||||
|
||||
#include <QBuffer>
|
||||
#include <QImageReader>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
#include <QNetworkRequest>
|
||||
#include <QTimer>
|
||||
#include <functional>
|
||||
#include <thread>
|
||||
|
||||
namespace chatterino {
|
||||
namespace detail {
|
||||
// Frames
|
||||
@@ -324,7 +324,7 @@ int Image::width() const
|
||||
assertInGuiThread();
|
||||
|
||||
if (auto pixmap = this->frames_->first())
|
||||
return pixmap->width() * this->scale_;
|
||||
return int(pixmap->width() * this->scale_);
|
||||
else
|
||||
return 16;
|
||||
}
|
||||
@@ -369,6 +369,7 @@ void Image::actuallyLoad()
|
||||
if (!shared)
|
||||
return false;
|
||||
|
||||
// fourtf: is this the right thing to do?
|
||||
shared->empty_ = true;
|
||||
|
||||
return true;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#include <pajlada/signals/signal.hpp>
|
||||
|
||||
#include "common/Aliases.hpp"
|
||||
#include "common/NullablePtr.hpp"
|
||||
#include "common/Common.hpp"
|
||||
|
||||
namespace chatterino {
|
||||
namespace detail {
|
||||
@@ -45,6 +45,7 @@ namespace detail {
|
||||
class Image;
|
||||
using ImagePtr = std::shared_ptr<Image>;
|
||||
|
||||
/// This class is thread safe.
|
||||
class Image : public std::enable_shared_from_this<Image>, boost::noncopyable
|
||||
{
|
||||
public:
|
||||
@@ -72,14 +73,14 @@ private:
|
||||
Image(qreal scale);
|
||||
|
||||
void setPixmap(const QPixmap &pixmap);
|
||||
|
||||
void actuallyLoad();
|
||||
|
||||
Url url_{};
|
||||
qreal scale_{1};
|
||||
bool empty_{false};
|
||||
const Url url_{};
|
||||
const qreal scale_{1};
|
||||
std::atomic_bool empty_{false};
|
||||
|
||||
// gui thread only
|
||||
bool shouldLoad_{false};
|
||||
std::unique_ptr<detail::Frames> frames_{};
|
||||
QObject object_{};
|
||||
};
|
||||
} // namespace chatterino
|
||||
|
||||
Reference in New Issue
Block a user