1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

fix(x11grab): try and use the current display

Don't hard-code ":0" as the display and try and use the DISPLAY
environment variable instead.

This fixes screen grabbing under X11 when the user is not on screen 0.

Fix #3500.
This commit is contained in:
Colomban Wendling 2016-07-12 21:27:23 +02:00
parent e97a870c0f
commit 294bdab77f

View File

@ -317,7 +317,17 @@ QVector<QPair<QString, QString>> CameraDevice::getDeviceList()
if (idesktopFormat)
{
if (idesktopFormat->name == QString("x11grab"))
devices.push_back(QPair<QString,QString>{"x11grab#:0", QObject::tr("Desktop", "Desktop as a camera input for screen sharing")});
{
QString dev = "x11grab#";
QByteArray display = qgetenv("DISPLAY");
if (display.isNull())
dev += ":0";
else
dev += display.constData();
devices.push_back(QPair<QString,QString>{dev, QObject::tr("Desktop", "Desktop as a camera input for screen sharing")});
}
if (idesktopFormat->name == QString("gdigrab"))
devices.push_back(QPair<QString,QString>{"gdigrab#desktop", QObject::tr("Desktop", "Desktop as a camera input for screen sharing")});
}