Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
df1dfd16 by Alexandre Janniaux at 2026-01-22T00:56:48+01:00
qt: Makefile.am: disable vlc-qt-check on iOS/tvOS/xrOS

- - - - -
a07e6deb by Alexandre Janniaux at 2026-01-22T00:56:48+01:00
qt: disable vlc-qt-check on iOS/tvOS/visionOS

Process spawning via posix_spawn is not allowed on iOS platforms.
The vlc-qt-check helper spawns a separate process to verify Qt
functionality, which fails on iOS/tvOS/visionOS.

The Qt interface will initialize directly without the pre-check on
these platforms.

- - - - -
f8614fb6 by Alexandre Janniaux at 2026-01-22T00:56:48+01:00
qt: Makefile.am: restrict Cocoa to macos

 HAVE_DARWIN applies to all Apple platforms (macOS, iOS, tvOS, watchOS,
 visionOS), while HAVE_OSX is macOS-specific. The Cocoa framework
 (AppKit) is only available on macOS.

- - - - -
342bd9d2 by Alexandre Janniaux at 2026-01-22T00:56:48+01:00
qt: qt6.pro: add qios platform for ios target

- - - - -
49237614 by Alexandre Janniaux at 2026-01-22T00:56:48+01:00
qt: link against the Qt iOS platform

- - - - -
7a7342f0 by Alexandre Janniaux at 2026-01-22T00:56:48+01:00
qt: compositor_platform: enable the compositor for iOS

- - - - -
cb4b7b93 by Alexandre Janniaux at 2026-01-22T00:56:48+01:00
qt: enable UI when detecting iOS platform

Add 'ios' to the Cocoa platform check for proper Qt platform integration.

- - - - -


5 changed files:

- modules/gui/qt/Makefile.am
- modules/gui/qt/maininterface/compositor_platform.cpp
- modules/gui/qt/plugins.hpp
- modules/gui/qt/qt.cpp
- modules/gui/qt/qt6.pro


Changes:

=====================================
modules/gui/qt/Makefile.am
=====================================
@@ -56,7 +56,7 @@ libqt_plugin_la_CXXFLAGS += -DQT_HAS_LIBATOMIC
 libqt_plugin_la_LIBADD += -latomic
 endif
 libqt_plugin_la_LDFLAGS = $(AM_LDFLAGS) $(QT_LDFLAGS)
-if HAVE_DARWIN
+if HAVE_OSX
 libqt_plugin_la_LDFLAGS += -Wl,-framework,Cocoa
 endif
 
@@ -1587,6 +1587,8 @@ gui_LTLIBRARIES += libqt_plugin.la
 BUILT_SOURCES += $(nodist_libqt_plugin_la_SOURCES)
 if !HAVE_WIN32
 if !HAVE_OS2
+if !HAVE_IOS_OR_TVOS
+if !HAVE_XROS
 pkglibexec_PROGRAMS = vlc-qt-check
 all-local: $(builddir)/../../vlc-qt-check
 
@@ -1594,6 +1596,8 @@ $(builddir)/../../vlc-qt-check: vlc-qt-check
        $(AM_V_GEN)cd ../../ && $(LN_S) -f gui/qt/vlc-qt-check . && chmod +x 
vlc-qt-check
 endif
 endif
+endif
+endif
 
 base_model_test_SOURCES = tests/test_base_model.cpp \
         util/base_model.cpp util/base_model.hpp util/base_model_p.hpp


=====================================
modules/gui/qt/maininterface/compositor_platform.cpp
=====================================
@@ -55,7 +55,7 @@ bool CompositorPlatform::init()
 #endif
 
 #ifdef __APPLE__
-    if (platformName == QLatin1String("cocoa"))
+    if (platformName == QLatin1String("cocoa") || platformName == 
QLatin1String("ios"))
         return true;
 #endif
 


=====================================
modules/gui/qt/plugins.hpp
=====================================
@@ -80,5 +80,7 @@
     Q_IMPORT_PLUGIN(QXdgDesktopPortalThemePlugin)
 #elif defined(__EMSCRIPTEN__)
     Q_IMPORT_PLUGIN(QWasmIntegrationPlugin)
+#elif defined(Q_OS_IOS)
+    Q_IMPORT_PLUGIN(QIOSIntegrationPlugin)
 #endif
 #endif


=====================================
modules/gui/qt/qt.cpp
=====================================
@@ -557,8 +557,9 @@ static int OpenInternal( qt_intf_t *p_intf )
         return VLC_EGENERIC;
 #endif
 
-#if (_POSIX_SPAWN >= 0)
+#if (_POSIX_SPAWN >= 0) && !defined(TARGET_OS_IPHONE)
     /* Check if QApplication works */
+    /* Note: Disabled on iOS/tvOS/visionOS as process spawning is not allowed 
*/
     char *path = config_GetSysPath(VLC_PKG_LIBEXEC_DIR, "vlc-qt-check");
     if (unlikely(path == NULL))
         return VLC_ENOMEM;
@@ -1112,7 +1113,7 @@ static void *Thread( void *obj )
             app.installEventFilter(new DismissPopupEventFilter(&app));
         }
         else if( platform == QLatin1String("windows") || platform == 
QLatin1String("direct2d") ) { }
-        else if( platform == QLatin1String("cocoa") ) { }
+        else if( platform == QLatin1String("cocoa") || platform == 
QLatin1String("ios") ) { }
         else
         {
             msg_Err( p_intf, "unknown Qt platform: %s", qtu(platform) );


=====================================
modules/gui/qt/qt6.pro
=====================================
@@ -25,6 +25,11 @@ macx {
 QTPLUGIN += qcocoa qmacstyle
 }
 
+ios {
+QTPLUGIN += qios
+CONFIG += no_framework
+}
+
 emscripten {
 QTPLUGIN += qwasm
 }



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/05d60dfed9df09cd4931d117cae535809243c6ce...cb4b7b93d8ed54546247d1ad9b466faa3d1795a2

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/05d60dfed9df09cd4931d117cae535809243c6ce...cb4b7b93d8ed54546247d1ad9b466faa3d1795a2
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance
_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to