fixed signal

This commit is contained in:
SamGondelman 2016-06-28 16:58:42 -07:00
parent a82930cb7a
commit 55c5d53640
2 changed files with 20 additions and 18 deletions

View file

@ -70,14 +70,16 @@ bool HmdDisplayPlugin::internalActivate() {
QNetworkAccessManager& manager = NetworkAccessManager::getInstance(); QNetworkAccessManager& manager = NetworkAccessManager::getInstance();
QNetworkRequest request(previewURL); QNetworkRequest request(previewURL);
request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT); request.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT);
// connect(&manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(downloadFinished(QNetworkReply*))); auto rep = manager.get(request);
manager.get(request); connect(rep, SIGNAL(finished()), this, SLOT(downloadFinished()));
} }
return Parent::internalActivate(); return Parent::internalActivate();
} }
void HmdDisplayPlugin::downloadFinished(QNetworkReply* reply) { void HmdDisplayPlugin::downloadFinished() {
QNetworkReply* reply = static_cast<QNetworkReply*>(sender());
if (reply->error() != QNetworkReply::NetworkError::NoError) { if (reply->error() != QNetworkReply::NetworkError::NoError) {
qDebug() << "HMDDisplayPlugin: error downloading preview image" << reply->errorString(); qDebug() << "HMDDisplayPlugin: error downloading preview image" << reply->errorString();
return; return;
@ -432,20 +434,19 @@ void HmdDisplayPlugin::internalPresent() {
BufferSelectBit::ColorBuffer, BlitFilter::Nearest); BufferSelectBit::ColorBuffer, BlitFilter::Nearest);
}); });
swapBuffers(); swapBuffers();
} else if (_firstPreview || windowSize != _prevWindowSize || devicePixelRatio != _prevDevicePixelRatio) { } else if (_previewTextureID != 0 && (_firstPreview || windowSize != _prevWindowSize || devicePixelRatio != _prevDevicePixelRatio)) {
if (_previewTextureID != 0) { useProgram(_previewProgram);
useProgram(_previewProgram); glClearColor(0, 0, 0, 1);
windowSize *= devicePixelRatio; glClear(GL_COLOR_BUFFER_BIT);
glViewport(0, 0, windowSize.x, windowSize.y); glViewport(0, 0, windowSize.x * devicePixelRatio, windowSize.y * devicePixelRatio);
glUniform1i(PREVIEW_TEXTURE_LOCATION, 0); glUniform1i(PREVIEW_TEXTURE_LOCATION, 0);
glActiveTexture(GL_TEXTURE0); glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, _previewTextureID); glBindTexture(GL_TEXTURE_2D, _previewTextureID);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
swapBuffers(); swapBuffers();
_firstPreview = false; _firstPreview = false;
_prevWindowSize = windowSize; _prevWindowSize = windowSize;
_prevDevicePixelRatio = devicePixelRatio; _prevDevicePixelRatio = devicePixelRatio;
}
} }
postPreview(); postPreview();

View file

@ -17,6 +17,7 @@
class QNetworkReply; class QNetworkReply;
class HmdDisplayPlugin : public OpenGLDisplayPlugin { class HmdDisplayPlugin : public OpenGLDisplayPlugin {
Q_OBJECT
using Parent = OpenGLDisplayPlugin; using Parent = OpenGLDisplayPlugin;
public: public:
bool isHmd() const override final { return true; } bool isHmd() const override final { return true; }
@ -89,7 +90,7 @@ protected:
FrameInfo _currentRenderFrameInfo; FrameInfo _currentRenderFrameInfo;
public slots: public slots:
void downloadFinished(QNetworkReply* reply); void downloadFinished();
private: private:
bool _enablePreview { false }; bool _enablePreview { false };