[vlc-commits] [Git][videolan/vlc][backport-vorbis-undefined-shift-fix] 6 commits: qt: (hotkeys) fix non-bold wheel event name

Steve Lhomme (@robUx4) gitlab at videolan.org
Wed May 13 01:13:51 UTC 2026



Steve Lhomme pushed to branch backport-vorbis-undefined-shift-fix at VideoLAN / VLC


Commits:
c8419af8 by Lyndon Brown at 2026-05-11T13:11:57+00:00
qt: (hotkeys) fix non-bold wheel event name

in the 'selected' text, inconsistent with that done for keyboard events.

(cherry picked from commit 068f5d0d01eb75325d77f0717c057dadceb971e8) (edited)
edited:
- the file was moved in 4.0
- 4.0 uses an internal vlckey_tr variable

- - - - -
c2c03720 by Lyndon Brown at 2026-05-11T13:11:57+00:00
qt: (hotkeys) improve translatability of strings

(cherry picked from commit 0289edadff52734c2509ee62364507a09205c492) (edited)
edited:
- the file was moved in 4.0
- 4.0 uses an internal vlckey_tr variable
- 4.0 had the .arg() already on the next line

- - - - -
9c2ecbeb by Steve Lhomme at 2026-05-11T13:11:57+00:00
Update PO files with Qt bold strings

- - - - -
a5b72d67 by François Cartegnie at 2026-05-11T21:05:11+02:00
codec: omxil: fix format string

- - - - -
0e7027dc by Steve Lhomme at 2026-05-13T01:13:40+00:00
contrib: vorbis: use upstream patch to fix missing -lm

There has not been a release since 2020.

(cherry picked from commit 2b3574cdddb5a60c83b195411bb47f73a134f2d9)

- - - - -
3b1d2546 by Tristan Matthews at 2026-05-13T01:13:40+00:00
contrib: vorbis: use upstream patch to fix undefined shift

Original patch:
https://gitlab.xiph.org/xiph/vorbis/-/commit/bb4047de4c05712bf1fd49b9584c360b8e4e0adf

Fixes #29810 [oss-fuzz 6222581559787520]

(cherry picked from commit 638e26bce1404c216febc411d5b8f0cdeb115f6f)

- - - - -


7 changed files:

- − contrib/src/vorbis/0001-CMake-add-missing-libm-in-.pc-file-when-it-s-used.patch
- + contrib/src/vorbis/0001-Fix-pkgconfig-creation-with-cmake.patch
- + contrib/src/vorbis/0002-sharedbook-fix-undefined-shift.patch
- contrib/src/vorbis/rules.mak
- modules/codec/omxil/omxil.c
- modules/gui/qt/components/preferences_widgets.cpp
- po/vlc.pot


Changes:

=====================================
contrib/src/vorbis/0001-CMake-add-missing-libm-in-.pc-file-when-it-s-used.patch deleted
=====================================
@@ -1,26 +0,0 @@
-From fac2505acea83d038bbe9e45c4504a6800c46726 Mon Sep 17 00:00:00 2001
-From: Steve Lhomme <slhomme at matroska.org>
-Date: Tue, 9 Jan 2024 09:19:41 +0100
-Subject: [PATCH] CMake: add missing libm in .pc file when it's used
-
----
- CMakeLists.txt | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 33f684f5..ea79c4aa 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -52,6 +52,9 @@ function(configure_pkg_config_file pkg_config_file_in)
-     set(libdir ${CMAKE_INSTALL_FULL_LIBDIR})
-     set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR})
-     set(VERSION ${PROJECT_VERSION})
-+    if(HAVE_LIBM)
-+        set(VORBIS_LIBS "-lm")
-+    endif()
-     string(REPLACE ".in" "" pkg_config_file ${pkg_config_file_in})
-     configure_file(${pkg_config_file_in} ${pkg_config_file} @ONLY)
- endfunction()
--- 
-2.39.3 (Apple Git-145)
-


=====================================
contrib/src/vorbis/0001-Fix-pkgconfig-creation-with-cmake.patch
=====================================
@@ -0,0 +1,35 @@
+From 3c177d011684fce294edce5ea93f27d3453e6830 Mon Sep 17 00:00:00 2001
+From: Matt Oliver <protogonoi at gmail.com>
+Date: Tue, 8 Sep 2020 21:12:54 +1000
+Subject: [PATCH] Fix pkgconfig creation with cmake.
+
+The cmake build script was not setting a VORBIS_LIBS variable
+that is used to update pkg-config files. This results in linking
+errors in downstream projects due to missing dependencies
+(in this case libm).
+
+This patch just updates the cmake script to behave the same
+as configure does currently.
+
+Signed-off-by: evpobr <evpobr at gmail.com>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index bb99e2cf..c42f6a5b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -60,6 +60,9 @@ message(STATUS "Configuring ${PROJECT_NAME} ${PROJECT_VERSION}")
+ # Find math library
+ 
+ check_library_exists(m floor "" HAVE_LIBM)
++if(HAVE_LIBM)
++    set(VORBIS_LIBS "-lm")
++endif()
+ 
+ # Find ogg dependency
+ if(NOT TARGET Ogg::ogg)
+-- 
+2.52.0.windows.1
+


=====================================
contrib/src/vorbis/0002-sharedbook-fix-undefined-shift.patch
=====================================
@@ -0,0 +1,21 @@
+commit bb4047de4c05712bf1fd49b9584c360b8e4e0adf
+Author: Tristan Matthews <tmatth at videolan.org>
+Date:   Fri Jun 14 11:39:26 2024 -0400
+
+    sharedbook: cast to unsigned to avoid undefined shift
+    
+    Fixes #2351
+
+diff --git a/lib/sharedbook.c b/lib/sharedbook.c
+index 444f42b5..7a98b479 100644
+--- a/lib/sharedbook.c
++++ b/lib/sharedbook.c
+@@ -422,7 +422,7 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){
+         long lo=0,hi=0;
+ 
+         for(i=0;i<tabn;i++){
+-          ogg_uint32_t word=i<<(32-c->dec_firsttablen);
++          ogg_uint32_t word=((ogg_uint32_t)i<<(32-c->dec_firsttablen));
+           if(c->dec_firsttable[bitreverse(word)]==0){
+             while((lo+1)<n && c->codelist[lo+1]<=word)lo++;
+             while(    hi<n && word>=(c->codelist[hi]&mask))hi++;


=====================================
contrib/src/vorbis/rules.mak
=====================================
@@ -27,7 +27,8 @@ $(TARBALLS)/libvorbis-$(VORBIS_VERSION).tar.xz:
 
 libvorbis: libvorbis-$(VORBIS_VERSION).tar.xz .sum-vorbis
 	$(UNPACK)
-	$(APPLY) $(SRC)/vorbis/0001-CMake-add-missing-libm-in-.pc-file-when-it-s-used.patch
+	$(APPLY) $(SRC)/vorbis/0001-Fix-pkgconfig-creation-with-cmake.patch
+	$(APPLY) $(SRC)/vorbis/0002-sharedbook-fix-undefined-shift.patch
 	$(call pkg_static,"vorbis.pc.in")
 	$(call pkg_static,"vorbisenc.pc.in")
 	$(call pkg_static,"vorbisfile.pc.in")


=====================================
modules/codec/omxil/omxil.c
=====================================
@@ -196,7 +196,7 @@ static OMX_ERRORTYPE ImplementationSpecificWorkarounds(decoder_t *p_dec,
            p_fmt->i_codec == VLC_CODEC_H264 &&
            (i_profile != PROFILE_H264_BASELINE || i_level > 30))
         {
-            msg_Dbg(p_dec, "h264 profile/level not supported (0x" PRIx8 ", 0x" PRIx8 ")",
+            msg_Dbg(p_dec, "h264 profile/level not supported (0x%" PRIx8 ", 0x%" PRIx8 ")",
                     i_profile, i_level);
             return OMX_ErrorNotImplemented;
         }


=====================================
modules/gui/qt/components/preferences_widgets.cpp
=====================================
@@ -1402,13 +1402,13 @@ KeyInputDialog::KeyInputDialog( QTreeWidget *_table,
     existingkeys = NULL;
 
     table = _table;
-    setWindowTitle( ( b_global ? qtr( "Global" ) + QString(" ") : QStringLiteral("") )
-                    + qtr( "Hotkey change" ) );
+    setWindowTitle( b_global ? qtr( "Global Hotkey change" )
+                             : qtr( "Hotkey change" ) );
     setWindowRole( "vlc-key-input" );
 
     QVBoxLayout *vLayout = new QVBoxLayout( this );
-    selected = new QLabel( qtr( "Press the new key or combination for " )
-                           + QString("<b>%1</b>").arg( keyToChange ) );
+    selected = new QLabel( qtr( "Press the new key or combination for <b>%1</b>" )
+                           .arg( keyToChange ) );
     vLayout->addWidget( selected , Qt::AlignCenter );
 
     warning = new QLabel;
@@ -1451,8 +1451,9 @@ void KeyInputDialog::checkForConflicts( int i_vlckey, const QString &sequence )
         !conflictList[0]->data( b_global ? 2 : 1, Qt::UserRole ).toString().isEmpty() &&
          conflictList[0]->data( b_global ? 2 : 1, Qt::UserRole ).toString() != "Unset" )
     {
-        warning->setText( qtr("Warning: this key or combination is already assigned to ") +
-                QString( "\"<b>%1</b>\"" ).arg( conflictList[0]->text( 0 ) ) );
+        warning->setText(
+                qtr("Warning: this key or combination is already assigned to \"<b>%1</b>\"")
+                .arg( conflictList[0]->text( 0 ) ) );
         warning->show();
         ok->show();
         unset->hide();
@@ -1486,8 +1487,7 @@ void KeyInputDialog::keyPressEvent( QKeyEvent *e )
         return;
     int i_vlck = qtEventToVLCKey( e );
     QKeySequence sequence( e->key() | e->modifiers() );
-    selected->setText( qtr( "Key or combination: " )
-                + QString("<b>%1</b>").arg( VLCKeyToString( i_vlck, true ) ) );
+    selected->setText( qtr( "Key or combination: <b>%1</b>" ).arg( VLCKeyToString( i_vlck, true ) ) );
     checkForConflicts( i_vlck, sequence.toString() );
     keyValue = i_vlck;
 }
@@ -1495,7 +1495,7 @@ void KeyInputDialog::keyPressEvent( QKeyEvent *e )
 void KeyInputDialog::wheelEvent( QWheelEvent *e )
 {
     int i_vlck = qtWheelEventToVLCKey( e );
-    selected->setText( qtr( "Key: " ) + VLCKeyToString( i_vlck, true ) );
+    selected->setText( qtr( "Key: <b>%1</b>" ).arg( VLCKeyToString( i_vlck, true ) ) );
     checkForConflicts( i_vlck, QString() );
     keyValue = i_vlck;
 }


=====================================
po/vlc.pot
=====================================
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: vlc 3.0.22\n"
 "Report-Msgid-Bugs-To: vlc-devel at videolan.org\n"
-"POT-Creation-Date: 2025-12-08 07:33+0100\n"
+"POT-Creation-Date: 2026-04-15 13:21+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -19019,7 +19019,6 @@ msgid "Application level hotkey"
 msgstr ""
 
 #: modules/gui/qt/components/preferences_widgets.cpp:1148
-#: modules/gui/qt/components/preferences_widgets.cpp:1405
 msgid "Global"
 msgstr ""
 
@@ -19034,32 +19033,36 @@ msgid ""
 "Delete key to remove."
 msgstr ""
 
+#: modules/gui/qt/components/preferences_widgets.cpp:1405
+msgid "Global Hotkey change"
+msgstr ""
+
 #: modules/gui/qt/components/preferences_widgets.cpp:1406
 msgid "Hotkey change"
 msgstr ""
 
 #: modules/gui/qt/components/preferences_widgets.cpp:1410
-msgid "Press the new key or combination for "
+msgid "Press the new key or combination for <b>%1</b>"
 msgstr ""
 
 #: modules/gui/qt/components/preferences_widgets.cpp:1419
 msgid "Assign"
 msgstr ""
 
-#: modules/gui/qt/components/preferences_widgets.cpp:1454
-msgid "Warning: this key or combination is already assigned to "
+#: modules/gui/qt/components/preferences_widgets.cpp:1455
+msgid "Warning: this key or combination is already assigned to \"<b>%1</b>\""
 msgstr ""
 
-#: modules/gui/qt/components/preferences_widgets.cpp:1466
+#: modules/gui/qt/components/preferences_widgets.cpp:1467
 msgid "Warning: <b>%1</b> is already an application menu shortcut"
 msgstr ""
 
-#: modules/gui/qt/components/preferences_widgets.cpp:1489
-msgid "Key or combination: "
+#: modules/gui/qt/components/preferences_widgets.cpp:1490
+msgid "Key or combination: <b>%1</b>"
 msgstr ""
 
 #: modules/gui/qt/components/preferences_widgets.cpp:1498
-msgid "Key: "
+msgid "Key: <b>%1</b>"
 msgstr ""
 
 #: modules/gui/qt/components/simple_preferences.cpp:256



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/7683e377291292bece67b44acc1a41c1cf6fd321...3b1d2546774a740720d09ce7d2e8690e50440086

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/7683e377291292bece67b44acc1a41c1cf6fd321...3b1d2546774a740720d09ce7d2e8690e50440086
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list