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

View file

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