mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 10:07:58 +02:00
Update assignment client to close on WM_CLOSE message on Windows
This commit is contained in:
parent
9546fe477c
commit
ad4956b2e2
2 changed files with 19 additions and 2 deletions
|
@ -41,7 +41,9 @@ AssignmentClient::AssignmentClient(int &argc, char **argv) :
|
||||||
setOrganizationDomain("highfidelity.io");
|
setOrganizationDomain("highfidelity.io");
|
||||||
setApplicationName("assignment-client");
|
setApplicationName("assignment-client");
|
||||||
QSettings::setDefaultFormat(QSettings::IniFormat);
|
QSettings::setDefaultFormat(QSettings::IniFormat);
|
||||||
|
|
||||||
|
installNativeEventFilter(this);
|
||||||
|
|
||||||
QStringList argumentList = arguments();
|
QStringList argumentList = arguments();
|
||||||
|
|
||||||
// register meta type is required for queued invoke method on Assignment subclasses
|
// register meta type is required for queued invoke method on Assignment subclasses
|
||||||
|
@ -113,6 +115,18 @@ AssignmentClient::AssignmentClient(int &argc, char **argv) :
|
||||||
this, &AssignmentClient::handleAuthenticationRequest);
|
this, &AssignmentClient::handleAuthenticationRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool AssignmentClient::nativeEventFilter(const QByteArray &eventType, void* msg, long* result) {
|
||||||
|
if (eventType == "windows_generic_MSG") {
|
||||||
|
MSG* message = (MSG*)msg;
|
||||||
|
if (message->message == WM_CLOSE) {
|
||||||
|
qDebug() << "Received WM_CLOSE message, closing";
|
||||||
|
quit();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void AssignmentClient::sendAssignmentRequest() {
|
void AssignmentClient::sendAssignmentRequest() {
|
||||||
if (!_currentAssignment) {
|
if (!_currentAssignment) {
|
||||||
NodeList::getInstance()->sendAssignment(_requestAssignment);
|
NodeList::getInstance()->sendAssignment(_requestAssignment);
|
||||||
|
|
|
@ -13,14 +13,17 @@
|
||||||
#define hifi_AssignmentClient_h
|
#define hifi_AssignmentClient_h
|
||||||
|
|
||||||
#include <QtCore/QCoreApplication>
|
#include <QtCore/QCoreApplication>
|
||||||
|
#include <QAbstractNativeEventFilter.h>
|
||||||
|
|
||||||
#include "ThreadedAssignment.h"
|
#include "ThreadedAssignment.h"
|
||||||
|
|
||||||
class AssignmentClient : public QCoreApplication {
|
class AssignmentClient : public QCoreApplication, QAbstractNativeEventFilter {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
AssignmentClient(int &argc, char **argv);
|
AssignmentClient(int &argc, char **argv);
|
||||||
static const SharedAssignmentPointer& getCurrentAssignment() { return _currentAssignment; }
|
static const SharedAssignmentPointer& getCurrentAssignment() { return _currentAssignment; }
|
||||||
|
virtual bool nativeEventFilter(const QByteArray& eventType, void* message, long* result);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void sendAssignmentRequest();
|
void sendAssignmentRequest();
|
||||||
void readPendingDatagrams();
|
void readPendingDatagrams();
|
||||||
|
|
Loading…
Reference in a new issue