0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00

Fix getting the X11 display with the Qt ui

This commit is contained in:
BtbN 2014-04-03 23:41:22 +02:00
parent 23c3dfc6be
commit a31e938c2b
3 changed files with 12 additions and 7 deletions

View File

@ -59,12 +59,7 @@ extern struct gl_windowinfo *gl_windowinfo_create(struct gs_init_data *info)
{
struct gl_windowinfo *wi = bzalloc(sizeof(struct gl_windowinfo));
wi->id = info->window.id;
/* wi->display = info->window.display; */
/*
The above no longer works with Qt.
Let's hope it continues to work.
*/
wi->display = info->window.display;
return wi;
}

View File

@ -31,6 +31,8 @@ elseif(APPLE)
add_definitions(-fobjc-arc)
elseif(UNIX)
find_package(Qt5X11Extras REQUIRED)
set(obs_PLATFORM_SOURCES
platform-x11.cpp)
@ -44,6 +46,9 @@ elseif(UNIX)
set(obs_PLATFORM_LIBRARIES
${X11_LIBRARIES}
${X11_Xinerama_LIB})
set(obs_PLATFORM_QT_MODULES
X11Extras)
endif()
set(obs_SOURCES
@ -87,7 +92,7 @@ add_executable(obs WIN32
${obs_UI_HEADERS}
${obs_QRC_SOURCES})
qt5_use_modules(obs Widgets)
qt5_use_modules(obs Widgets ${obs_PLATFORM_QT_MODULES})
if(WIN32)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)

View File

@ -20,6 +20,10 @@
#include <QWidget>
#include <QMessageBox>
#if !defined(_WIN32) && !defined(__APPLE__)
#include <QX11Info>
#endif
static inline void OBSErrorBoxva(QWidget *parent, const char *msg, va_list args)
{
char full_message[4096];
@ -44,5 +48,6 @@ void QTToGSWindow(WId windowId, gs_window &gswindow)
gswindow.view = (id)windowId;
#else
gswindow.id = windowId;
gswindow.display = QX11Info::display();
#endif
}