[ VLC_ADD_PLUGINS([qt4])
ALIASES="${ALIASES} qvlc"
enableqt4=true
+ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin"; then
+ AC_CHECK_HEADERS([X11/Xlib.h],[],[AC_MSG_ERROR([You need X11 headers])])
+ fi
VLC_ADD_LIBS([qt4],[$QT4_LIBS])
VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"])
AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
],
AS_IF([test "${enable_qt4}" = "yes"],[
- AC_MSG_ERROR(QT4 library not found)
+ AC_MSG_ERROR(QT4 library not found)
],[
- AC_MSG_WARN(QT4 library not found)
+ AC_MSG_WARN(QT4 library not found)
])
)
])
#include "input_manager.hpp"
#include "main_interface.hpp"
+#ifdef HAVE_X11_XLIB_H
+#include <X11/Xlib.h>
+#endif
+
#include "../../../share/vlc32x32.xpm"
/*****************************************************************************
{
intf_thread_t *p_intf = (intf_thread_t *)p_this;
p_intf->pf_run = Run;
-#if defined HAVE_GETENV && defined Q_WS_X11
+#if defined HAVE_GETENV && defined Q_WS_X11 && defined HAVE_X11_XLIB_H
char *psz_display = getenv( "DISPLAY" );
if( !psz_display || !*psz_display )
{
- msg_Err(p_intf, "no X server");
+ msg_Err( p_intf, "no X server" );
+ return VLC_EGENERIC;
+ }
+ /* Thanks for libqt4 calling exit() in QApplication::QApplication()
+ * instead of returning an error, we have to check for DISPLAY validity */
+ Display *p_display = XOpenDisplay( psz_display );
+ if( !p_display )
+ {
+ msg_Err( p_intf, "Could not connect to X server %s", psz_display );
return VLC_EGENERIC;
}
+ XCloseDisplay( p_display );
#endif
p_intf->p_sys = (intf_sys_t *)malloc( sizeof( intf_sys_t ) );
if( !p_intf->p_sys )