[vlc-commits] [Git][videolan/vlc][master] 7 commits: qml: fix binding loop in BannerSources
Pierre Lamot pushed to branch master at VideoLAN / VLC Commits: b2b2cfa8 by Prince Gupta at 2021-06-04T16:03:53+00:00 qml: fix binding loop in BannerSources - - - - - 2e1d7e29 by Prince Gupta at 2021-06-04T16:03:53+00:00 qml: fix invalid property access in BannerSources - - - - - 4d35747a by Prince Gupta at 2021-06-04T16:03:53+00:00 qml: fix invalid property access in ExpandGridView - - - - - 6e65b0e3 by Prince Gupta at 2021-06-04T16:03:53+00:00 qml: fix invalid connection in MusicArtist parentId property was removed in cd89555e27a3803fa6b485e0796d01f77ce2 - - - - - 6713884f by Prince Gupta at 2021-06-04T16:03:53+00:00 qml/Helpers: add get function - - - - - 9f724ba5 by Prince Gupta at 2021-06-04T16:03:53+00:00 qml/AlbumExpandDelegate: fix invalid property accesses - - - - - 73f0f9f1 by Prince Gupta at 2021-06-04T16:03:53+00:00 qml/VideoExpandDelegate: fix invalid object reference - - - - - 6 changed files: - modules/gui/qt/maininterface/qml/BannerSources.qml - modules/gui/qt/medialibrary/qml/MusicAlbumsGridExpandDelegate.qml - modules/gui/qt/medialibrary/qml/MusicArtist.qml - modules/gui/qt/medialibrary/qml/VideoInfoExpandPanel.qml - modules/gui/qt/util/qml/Helpers.js - modules/gui/qt/widgets/qml/ExpandGridView.qml Changes: = modules/gui/qt/maininterface/qml/BannerSources.qml = @@ -299,7 +299,7 @@ Widgets.NavigableFocusScope { - (VLCStyle.applicationHorizontalMargin * 2) - (VLCStyle.margin_xsmall * 2) - (VLCStyle.margin_xxsmall * 2) -readonly property bool _alignHCenter: ((localToolbar.width - width) / 2) + width < playlistGroup.x +readonly property bool _alignHCenter: ((localToolbar.width - contentWidth) / 2) + contentWidth < playlistGroup.x width: Math.min(contentWidth, availableWidth) height: VLCStyle.localToolbar_height @@ -324,7 +324,7 @@ Widgets.NavigableFocusScope { focus: !!item && item.focus && item.visible visible: !!item enabled: status === Loader.Ready -y: (VLCStyle.localToolbar_height - item.height) / 2 +y: status === Loader.Ready ? (VLCStyle.localToolbar_height - item.height) / 2 : 0 width: !!item ? Helpers.clamp(localMenuView.availableWidth, localMenuGroup.item.minimumWidth || localMenuGroup.item.implicitWidth, = modules/gui/qt/medialibrary/qml/MusicAlbumsGridExpandDelegate.qml = @@ -110,7 +110,7 @@ Widgets.NavigableFocusScope { height: VLCStyle.expandCover_music_height width: VLCStyle.expandCover_music_width radius: VLCStyle.expandCover_music_radius -source: model.cover || VLCStyle.noArtAlbum +source: Helpers.get(model, "cover", VLCStyle.noArtAlbum) } Widgets.ListCoverShadow { @@ -207,7 +207,7 @@ Widgets.NavigableFocusScope { Widgets.SubtitleLabel { id: expand_infos_title_id -text: model.title || i18n.qtr("Unknown title") +text: Helpers.get(model, "title", i18n.qtr("Unknown title")) Layout.fillWidth: true } @@ -229,9 +229,9 @@ Widgets.NavigableFocusScope { width: parent.width text: i18n.qtr("%1 - %2 - %3") -.arg(model.main_artist || i18n.qtr("Unknown artist")) -.arg(model.release_year || "") -.arg(Helpers.msToString(model.duration) || "") +.arg(Helpers.get(model, "main_artist", i18n.qtr("Unknown artist"))) +.arg(Helpers.get(model, "release_year", "")) +.arg(Helpers.msToString(Helpers.get(model, "duration", 0))) } } @@ -244,7 +244,7 @@ Widgets.NavigableFocusScope { rowHeight: VLCStyle.tableRow_height headerColor: VLCStyle.colors.bgAlt -parentId: root.model.id +parentId: Helpers.get(root.model, "id") onParentIdChanged: { currentIndex = 0 } = modules/gui/qt/medialibrary/qml/MusicArtist.qml = @@ -288,7 +288,7 @@ Widgets.NavigableFocusScope { model: albumModel Connections { -target: root +
[vlc-commits] [Git][videolan/vlc][master] 7 commits: qt: alias intf_thread_t as qt_intf_t
Pierre Lamot pushed to branch master at VideoLAN / VLC Commits: 4044fe3b by Pierre Lamot at 2021-06-04T17:00:25+02:00 qt: alias intf_thread_t as qt_intf_t This is a preparatory commit - - - - - 537d41a4 by Pierre Lamot at 2021-06-04T17:00:25+02:00 qt: load Qt in a detached structure from the interface module. this will allow to unload the interface module without unloading Qt in a further patch. the new structure is still a vlc object as we use it notably for logging capacity and to interact with vlc variables - - - - - 5897ca4d by Pierre Lamot at 2021-06-04T17:00:25+02:00 qt: move dialog file path variable from module to maininterface the variable was no longer initialized properly as it was stored in a C structure and there was no reason to store this variable in the module - - - - - ec1a1670 by Pierre Lamot at 2021-06-04T17:00:25+02:00 qt: allow passing a global vout close callback to the compositor - - - - - 2f53abd0 by Pierre Lamot at 2021-06-04T17:00:25+02:00 qt: remove unnecessary dependency upon MainInterface from VideoWindowHandler - - - - - b60ad66f by Pierre Lamot at 2021-06-04T17:00:25+02:00 qt: allow to partially unload the interface this allows to unload the GUI part of the interface without destroying the windows that may still be used by the vout window part. - - - - - 7a00ed44 by Pierre Lamot at 2021-06-04T17:00:25+02:00 qt: refcount qt interface usage across modules both the intf and the vout window reference the qt interface structure it will only be released once not used by both modules, this way the windows continues to exists if the interface is closed before. When the interface module is released before the vout window, the qml view and the associated resources are unloaded from the compositor. fix: #25600 - - - - - 30 changed files: - modules/gui/qt/dialogs/bookmarks/bookmarks.cpp - modules/gui/qt/dialogs/bookmarks/bookmarks.hpp - modules/gui/qt/dialogs/dialogs/dialogmodel.cpp - modules/gui/qt/dialogs/dialogs/dialogmodel.hpp - modules/gui/qt/dialogs/dialogs_provider.cpp - modules/gui/qt/dialogs/dialogs_provider.hpp - modules/gui/qt/dialogs/epg/epg.cpp - modules/gui/qt/dialogs/epg/epg.hpp - modules/gui/qt/dialogs/errors/errors.cpp - modules/gui/qt/dialogs/errors/errors.hpp - modules/gui/qt/dialogs/extended/extended.cpp - modules/gui/qt/dialogs/extended/extended.hpp - modules/gui/qt/dialogs/extended/extended_panels.cpp - modules/gui/qt/dialogs/extended/extended_panels.hpp - modules/gui/qt/dialogs/extensions/extensions.cpp - modules/gui/qt/dialogs/extensions/extensions.hpp - modules/gui/qt/dialogs/extensions/extensions_manager.cpp - modules/gui/qt/dialogs/extensions/extensions_manager.hpp - modules/gui/qt/dialogs/fingerprint/chromaprint.cpp - modules/gui/qt/dialogs/fingerprint/chromaprint.hpp - modules/gui/qt/dialogs/fingerprint/fingerprintdialog.cpp - modules/gui/qt/dialogs/fingerprint/fingerprintdialog.hpp - modules/gui/qt/dialogs/firstrun/firstrun.cpp - modules/gui/qt/dialogs/firstrun/firstrun.hpp - modules/gui/qt/dialogs/gototime/gototime.cpp - modules/gui/qt/dialogs/gototime/gototime.hpp - modules/gui/qt/dialogs/help/help.cpp - modules/gui/qt/dialogs/help/help.hpp - modules/gui/qt/dialogs/mediainfo/info_panels.cpp - modules/gui/qt/dialogs/mediainfo/info_panels.hpp The diff was not included because it is too large. View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/3b833f09b54d463335734e571ea95692914a7b8a...7a00ed44fbe19c92778f6beb2ebfc5b5172bde16 -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/3b833f09b54d463335734e571ea95692914a7b8a...7a00ed44fbe19c92778f6beb2ebfc5b5172bde16 You're receiving this email because of your account on code.videolan.org. ___ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits
[vlc-commits] [Git][videolan/vlc][master] 4 commits: libvlc-module: Remove trailing whitespace
Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC Commits: 48e6a427 by Hugo Beauzée-Luyssen at 2021-06-04T13:44:01+00:00 libvlc-module: Remove trailing whitespace - - - - - a170af4a by Hugo Beauzée-Luyssen at 2021-06-04T13:44:01+00:00 libvlc-module: Clarify restore-playback-pos option - - - - - 4df0bd1d by Hugo Beauzée-Luyssen at 2021-06-04T13:44:01+00:00 qt: prefs: Expose restore-playback-pos instead of qt-continue - - - - - 3b833f09 by Hugo Beauzée-Luyssen at 2021-06-04T13:44:01+00:00 qt: Deprecate qt-continue option - - - - - 3 changed files: - modules/gui/qt/dialogs/preferences/simple_preferences.cpp - modules/gui/qt/qt.cpp - src/libvlc-module.c Changes: = modules/gui/qt/dialogs/preferences/simple_preferences.cpp = @@ -928,7 +928,7 @@ SPrefsPanel::SPrefsPanel( intf_thread_t *_p_intf, QWidget *_parent, ui.recentlyPlayedFilters, setEnabled( bool ) ); ui.recentlyPlayedFilters->setEnabled( false ); CONFIG_BOOL( "qt-recentplay", saveRecentlyPlayed ); -CONFIG_GENERIC( "qt-continue", IntegerList, ui.continuePlaybackLabel, continuePlaybackComboBox ); +CONFIG_GENERIC( "restore-playback-pos", IntegerList, ui.continuePlaybackLabel, continuePlaybackComboBox ); CONFIG_GENERIC( "qt-recentplay-filter", String, ui.filterLabel, recentlyPlayedFilters ); CONFIG_GENERIC( "qt-auto-raise", IntegerList, ui.autoRaiseLabel, autoRaiseComboBox ); = modules/gui/qt/qt.cpp = @@ -241,20 +241,12 @@ static void ShowDialog ( intf_thread_t *, int, int, intf_dialog_args_t * ); #define FULLSCREEN_CONTROL_PIXELS N_( "Fullscreen controller mouse sensitivity" ) -#define CONTINUE_PLAYBACK_TEXT N_("Continue playback?") - static const int i_notification_list[] = { NOTIFICATION_NEVER, NOTIFICATION_MINIMIZED, NOTIFICATION_ALWAYS }; static const char *const psz_notification_list_text[] = { N_("Never"), N_("When minimized"), N_("Always") }; -static const int i_continue_list[] = -{ 0, 1, 2 }; - -static const char *const psz_continue_list_text[] = -{ N_("Never"), N_("Ask"), N_("Always") }; - static const int i_raise_list[] = { MainInterface::RAISE_NEVER, MainInterface::RAISE_VIDEO, \ MainInterface::RAISE_AUDIO, MainInterface::RAISE_AUDIOVIDEO, }; @@ -310,8 +302,7 @@ vlc_module_begin () nullptr, false ) add_string( "qt-recentplay-filter", "", RECENTPLAY_FILTER_TEXT, RECENTPLAY_FILTER_LONGTEXT, false ) -add_integer( "qt-continue", 1, CONTINUE_PLAYBACK_TEXT, nullptr, false ) -change_integer_list(i_continue_list, psz_continue_list_text ) +add_obsolete_integer( "qt-continue" ) #ifdef UPDATE_CHECK add_bool( "qt-updates-notif", true, UPDATER_TEXT, = src/libvlc-module.c = @@ -199,7 +199,7 @@ static const char *const ppsz_stereo_mode_texts[] = { N_("Unset"), }; #define MIX_MODE_TEXT N_("Audio mix mode") -static const int pi_mix_mode_values[] = { +static const int pi_mix_mode_values[] = { AOUT_MIX_MODE_UNSET, AOUT_MIX_MODE_STEREO, AOUT_MIX_MODE_BINAURAL, AOUT_MIX_MODE_4_0, AOUT_MIX_MODE_5_1, AOUT_MIX_MODE_7_1, }; @@ -706,7 +706,20 @@ static const char *const ppsz_prefres[] = { "the form \"{name=bookmark-name,time=optional-time-offset," \ "bytes=optional-byte-offset},{...}\"") -#define RESTORE_PLAYBACK_POS_TEXT N_("Continue playback?") +#define RESTORE_PLAYBACK_POS_TEXT N_("Continue playback") +#define RESTORE_PLAYBACK_POS_LONGTEXT N_("Should the playback resume where " \ +"it was left off?") + +static const int pi_restore_playback_values[] = { +VLC_PLAYER_RESTORE_PLAYBACK_POS_NEVER, +VLC_PLAYER_RESTORE_PLAYBACK_POS_ASK, +VLC_PLAYER_RESTORE_PLAYBACK_POS_ALWAYS +}; +static const char* const ppsz_restore_playback_desc[] = { +N_( "Never resume playback where it was left off" ), +N_( "Ask when the playback starts" ), +N_( "Always resume playback where it was left off" ), +}; #define RESTORE_PLAYBACK_STATE_TEXT N_("Resume last playback states") #define RESTORE_PLAYBACK_STATE_LONGTEXT N_("This will resume the last playback " \ @@ -1851,7 +1864,9 @@ vlc_module_begin () change_safe () add_integer( "restore-playback-pos", VLC_PLAYER_RESTORE_PLAYBACK_POS_ASK, - RESTORE_PLAYBACK_POS_TEXT, NULL, false ) + RESTORE_PLAYBACK_POS_TEXT, RESTORE_PLAYBACK_POS_LONGTEXT, false ) +change_integer_list( pi_restore_playback_values, ppsz_restore_playback_desc ); + add_bool( "restore-playback-states", false, RESTORE_PLAYBACK_STATE_TEXT, RESTORE_PLAYBACK_STATE_LONGTEXT, false ) View it on GitLab:
[vlc-commits] [Git][videolan/vlc][master] 10 commits: libplacebo: add new color primaries enum members
Alexandre Janniaux pushed to branch master at VideoLAN / VLC Commits: ccad653c by Niklas Haas at 2021-06-04T10:37:08+00:00 libplacebo: add new color primaries enum members Not really that important or useful, but theyre supported upstream so theres also no real reason not to expose them. - - - - - ca206a51 by Niklas Haas at 2021-06-04T10:37:08+00:00 libplacebo: add support for BT.2390 EETF This has already been the default in most libplacebo versions, in that `pl_color_map_default_params.tone_mapping_algo` was equal to this value. Despite this, it was never exposed in the UI, meaning users could not actually manually select it. Update the string to make it clear that this is the intended/recommended default. - - - - - 31351641 by Niklas Haas at 2021-06-04T10:37:08+00:00 libplacebo: add colorimetric gamut clipping option New upstream feature. Simply needs to be exposed in the UI. - - - - - 231ea4de by Niklas Haas at 2021-06-04T10:37:08+00:00 libplacebo: remove unneeded counter field This field was left-over from an early API design, and never used for anything in libplacebo. Recent versions have since deprecated it. - - - - - fe6ec4ce by Niklas Haas at 2021-06-04T10:37:08+00:00 libplacebo: rewrite picture placement logic Recent versions of libplacebo use `pl_frame.crop` instead of `pl_render_target.dst_rect`, for which the latter is now merely a fallback. Unfortunately, `pl_render_target_from_swapchain` ends up setting the former field to values based on the swapchain dimensions, so the values we set in `dst_rect` accidentally ended up ignored. In retrospect, this was caused by the upstream decision to make the new field override the old field if both are present, and having that logic the other way around would also have avoided this bug. Bite the bullet and make it conditional on the PL_API_VER. All that said - merely fixing this bug, however, exposed serious shortcomings in the video placement logic, in particular the lack of proper flipping support for OpenGL. Fix it by rewriting the video placement logic completely, based on the observation that `vout_display_PlacePicture` is a relatively cheap function to call. Theres no need to awkwardly cache it inside `sys`. - - - - - e4a584e3 by Niklas Haas at 2021-06-04T10:37:08+00:00 libplacebo: fix use-after-free on uninit `pl-ops-close` destroys the GPU instance, after which the swapchain is undefined. Fix it by moving the swapchain destruction to `ops-close` itself, where it can be done in the correct order. (This also fixes a bug where, technically, the opengl instance attempted destroying the swapchain while the context was not current on the thread) - - - - - fb4e794c by Niklas Haas at 2021-06-04T10:37:08+00:00 opengl: drop redundant code path This is redundant with the minimum version requirement being 1.7. I sure cant wait until the next bump up to 1.29.0. All these ifdefs keep reminding me of my failure to design a good API on my first try. - - - - - 71a72062 by Niklas Haas at 2021-06-04T10:37:08+00:00 libplacebo: remove trailing \ Cosmetic. Side note: I really, *really* hope this commit title breaks something, somewhere. - - - - - 7de45dac by Niklas Haas at 2021-06-04T10:37:08+00:00 libplacebo: add support for custom LUTs Unfortunately the UI for loading these is a bit clunky as theyre hidden behind so many layers of menu and advanced options, plus the fact that the new LUTs still only get applied on vout reinit. But its still a feature that a lot of users have requested heavily, so supporting them at all is a good thing. The implementation is rather straightforward even though the amount of #ifdefs are really getting on my nerves. Can somebody just time travel me into a future universe in which I can make libplacebo v4 the minimum dependency? - - - - - db6f8b7c by Niklas Haas at 2021-06-04T10:37:08+00:00 libplacebo: add support for custom shaders Its finally time to use RAVU/FSRCNN(X)/NNEDI3/Anime4K in VLC. Currently limited to only one shader, which isnt a huge limitation seeing as you can just `cat` together as many shaders as you want to use into one big file. But patches welcome(tm). - - - - - 6 changed files: - modules/video_output/libplacebo/display.c - modules/video_output/libplacebo/instance.c - modules/video_output/libplacebo/instance_opengl.c - modules/video_output/libplacebo/instance_vulkan.c - modules/video_output/libplacebo/utils.h - modules/video_output/opengl/sampler.c Changes: = modules/video_output/libplacebo/display.c = @@ -30,6 +30,7 @@ #include #include #include +#include #include "utils.h" #include "instance.h" @@ -38,6 +39,10 @@ #include #include +#if PL_API_VER >= 113 +# include +#endif + struct vout_display_sys_t { vlc_placebo_t *pl; @@ -49,10 +54,6 @@ struct vout_display_sys_t const struct pl_tex **overlay_tex; int num_overlays; -// Dynamic during rendering -
[vlc-commits] [Git][videolan/vlc][master] qml:previous button related fixes
Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC Commits: 851d7f33 by Huang Jie at 2021-06-04T09:48:06+00:00 qml:previous button related fixes fixes #25780 - - - - - 1 changed file: - modules/gui/qt/maininterface/qml/MainInterface.qml Changes: = modules/gui/qt/maininterface/qml/MainInterface.qml = @@ -93,15 +93,14 @@ Rectangle { function setInitialView() { //set the initial view -if (!mainPlaylistController.empty) -history.push(["player"]) +var loadPlayer = !mainPlaylistController.empty; +if (medialib) +history.push(["mc", "video"], loadPlayer ? History.Stay : History.Go) else -{ -if (medialib) -history.push(["mc", "video"]) -else -history.push(["mc", "home"]) -} +history.push(["mc", "home"], loadPlayer ? History.Stay : History.Go) + +if (loadPlayer) +history.push(["player"]) } View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/851d7f33234385a6879cb5d45b6c57d6a34a0cda -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/851d7f33234385a6879cb5d45b6c57d6a34a0cda You're receiving this email because of your account on code.videolan.org. ___ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits
[vlc-commits] [Git][videolan/vlc][master] ftp: Fix typo: connexion => connection
Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC Commits: 215f04e9 by Yaron Shahrabani at 2021-06-04T09:46:49+00:00 ftp: Fix typo: connexion = connection - - - - - 2 changed files: - modules/access/ftp.c - modules/access/sftp.c Changes: = modules/access/ftp.c = @@ -77,7 +77,7 @@ static void OutClose( vlc_object_t * ); #define LOGIN_DIALOG_TITLE _("FTP authentication") #define LOGIN_DIALOG_TEXT _("Please enter a valid login and password for " \ -"the ftp connexion to %s") +"the FTP connection to %s") vlc_module_begin () set_shortname( "FTP" ) = modules/access/sftp.c = @@ -420,7 +420,7 @@ static int Open( vlc_object_t* p_this ) } while( vlc_credential_get( , p_access, "sftp-user", "sftp-pwd", _("SFTP authentication"), _("Please enter a valid login and password for " -"the sftp connexion to %s"), url.psz_host ) ); +"the SFTP connection to %s"), url.psz_host ) ); /* Create the sftp session */ p_sys->sftp_session = libssh2_sftp_init( p_sys->ssh_session ); View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/215f04e9edcc87cdc51bb693172e1dd7cb99f24e -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/215f04e9edcc87cdc51bb693172e1dd7cb99f24e You're receiving this email because of your account on code.videolan.org. ___ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits
[vlc-commits] [Git][videolan/vlc][master] qml: reset to last subcategory of the views
Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC Commits: 9181dc49 by Prince Gupta at 2021-06-04T08:38:27+00:00 qml: reset to last subcategory of the views closes #25581 - - - - - 1 changed file: - modules/gui/qt/maininterface/qml/MainDisplay.qml Changes: = modules/gui/qt/maininterface/qml/MainDisplay.qml = @@ -39,9 +39,10 @@ Widgets.NavigableFocusScope { property alias g_mainDisplay: root property bool _inhibitMiniPlayer: false property bool _showMiniPlayer: false +property var _defaultPages: ({}) // saves last page of view onViewChanged: { -viewProperties = ({}) +viewProperties = _defaultPages[root.view] !== undefined ? ({"defaultPage": _defaultPages[root.view]}) : ({}) loadView() } onViewPropertiesChanged: loadView() @@ -54,6 +55,8 @@ Widgets.NavigableFocusScope { function loadView() { var found = stackView.loadView(root.pageModel, root.view, root.viewProperties) +if (stackView.currentItem.view !== undefined) +_defaultPages[root.view] = stackView.currentItem.view stackView.currentItem.navigationParent = medialibId stackView.currentItem.navigationUpItem = sourcesBanner View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/9181dc49ad7ad9a182a777ef431b5e8c5c936f96 -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/9181dc49ad7ad9a182a777ef431b5e8c5c936f96 You're receiving this email because of your account on code.videolan.org. ___ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits
[vlc-commits] [Git][videolan/vlc][master] qml: fix segmentation fault on component destruction
Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC Commits: f3e0752f by Fatih Uzunoglu at 2021-06-04T08:05:30+00:00 qml: fix segmentation fault on component destruction intends to be a temporary solution for #25599, #25776. - - - - - 1 changed file: - modules/gui/qt/widgets/qml/KeyNavigableTableView.qml Changes: = modules/gui/qt/widgets/qml/KeyNavigableTableView.qml = @@ -95,6 +95,35 @@ NavigableFocusScope { Accessible.role: Accessible.Table +function _qtAvoidSectionUpdate() { +// Qt SEG. FAULT WORKAROUND + +// There exists a Qt bug that tries to access null +// pointer while updating sections. Qt does not +// check if `QQmlEngine::contextForObject(sectionItem)->parentContext()` +// is null and when it's null which might be the case for +// views during destruction it causes segmentation fault. + +// As a workaround, when section delegate is set to null +// during destruction, Qt does not proceed with updating +// the sections so null pointer access is avoided. Updating +// sections during destruction should not make sense anyway. + +// Setting section delegate to null seems to has no +// negative impact and safely could be used as a fix. +// However, the problem lying beneath prevails and +// should be taken care of sooner than later. + +// Affected Qt versions are 5.11.3, and 5.15.2 (not +// limited). + +section.delegate = null +} + +Component.onDestruction: { +_qtAvoidSectionUpdate() +} + function positionViewAtIndex(index, mode) { view.positionViewAtIndex(index, mode) } View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/f3e0752f50652e3af7b40ed35978b9a4d457c2f5 -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/f3e0752f50652e3af7b40ed35978b9a4d457c2f5 You're receiving this email because of your account on code.videolan.org. ___ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits
[vlc-commits] [Git][videolan/vlc][master] demux: hls: don't add empty attributes
François Cartegnie pushed to branch master at VideoLAN / VLC Commits: a8f165a0 by Francois Cartegnie at 2021-06-04T07:29:45+00:00 demux: hls: dont add empty attributes - - - - - 1 changed file: - modules/demux/hls/playlist/Tags.cpp Changes: = modules/demux/hls/playlist/Tags.cpp = @@ -261,9 +261,12 @@ void AttributesTag::parseAttributes(const std::string ) std::string attrvalue = oss.str(); oss.str(""); -Attribute *attribute = new (std::nothrow) Attribute(attrname, attrvalue); -if(attribute) -attributes.push_back(attribute); +if(!attrname.empty()) +{ +Attribute *attribute = new (std::nothrow) Attribute(attrname, attrvalue); +if(attribute) +attributes.push_back(attribute); +} } } View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/a8f165a0cbf75405e0b802cf2d73d5dc4642688d -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/a8f165a0cbf75405e0b802cf2d73d5dc4642688d You're receiving this email because of your account on code.videolan.org. ___ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits
[vlc-commits] [Git][videolan/vlc][master] configure: remove redundant PIE flags for sanitizers
Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC Commits: 8d47e5a8 by Marvin Scholz at 2021-06-04T07:12:50+00:00 configure: remove redundant PIE flags for sanitizers As per the Clang documentation, some sanitizers only work with position independent executables, so it is implied already by the sanitizer flag: Non-position-independent executables are not supported. Therefore, the fsanitize=thread flag will cause Clang to act as though the -fPIE flag had been supplied if compiling without -fPIC, and as though the -pie flag had been supplied if linking an executable. https://clang.llvm.org/docs/ThreadSanitizer.html#limitations - - - - - 1 changed file: - configure.ac Changes: = configure.ac = @@ -1183,14 +1183,6 @@ AS_VAR_IF(with_sanitizer, no, [], [ AX_APPEND_COMPILE_FLAGS([-fsanitize-address-use-after-scope -fno-omit-frame-pointer -fsanitize=pointer-compare -fsanitize=pointer-subtract]) AX_APPEND_COMPILE_FLAGS([-fsanitize-address-use-after-scope -fno-omit-frame-pointer -fsanitize=pointer-compare -fsanitize=pointer-subtract], [CXXFLAGS]) ]) -AS_IF([test -z "${with_sanitizer##*memory*}" ], [ -AX_APPEND_COMPILE_FLAGS([-fPIE -pie]) -AX_APPEND_COMPILE_FLAGS([-fPIE -pie], [CXXFLAGS]) -]) -AS_IF([test -z "${with_sanitizer##*thread*}" ], [ -AX_APPEND_COMPILE_FLAGS([-fPIE -pie]) -AX_APPEND_COMPILE_FLAGS([-fPIE -pie], [CXXFLAGS]) -]) ]) dnl View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/8d47e5a8bad83ba567668f9f2c37a16b05e19faf -- View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/8d47e5a8bad83ba567668f9f2c37a16b05e19faf You're receiving this email because of your account on code.videolan.org. ___ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits