avmedia/source/gtk/gtkplayer.cxx |    4 ++++
 configmgr/source/dconf.cxx       |    7 -------
 configure.ac                     |    2 +-
 3 files changed, 5 insertions(+), 8 deletions(-)

New commits:
commit e149f038b6179ac94a613676fb0b1b475541313b
Author:     Stephan Bergmann <[email protected]>
AuthorDate: Tue Mar 14 15:19:30 2023 +0100
Commit:     Stephan Bergmann <[email protected]>
CommitDate: Wed Mar 15 08:23:36 2023 +0000

    Bump dconf minimum version requirement
    
    At least building on Fedora 37 with dconf-devel-0.40.0-7.fc37.x86_64 against
    recent LLVM 17 trunk libc++ started to fail now with
    
    > In file included from configmgr/source/dconf.cxx:25:
    > In file included from /usr/include/dconf/dconf.h:23:
    > In file included from /usr/include/dconf/common/dconf-enums.h:23:
    > In file included from /usr/include/glib-2.0/glib.h:34:
    > In file included from /usr/include/glib-2.0/glib/gasyncqueue.h:34:
    > In file included from /usr/include/glib-2.0/glib/gthread.h:34:
    > In file included from /usr/include/glib-2.0/glib/gatomic.h:30:
    > In file included from /usr/include/glib-2.0/glib/glib-typeof.h:44:
    > In file included from ~/llvm/inst/bin/../include/c++/v1/type_traits:430:
    > ~/llvm/inst/bin/../include/c++/v1/__type_traits/aligned_union.h:23:1: 
error: templates must have C++ linkage
    > template <size_t _I0, size_t ..._In>
    > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    > configmgr/source/dconf.cxx:19:1: note: extern "C" language linkage 
specification begins here
    > extern "C" {
    > ^
    
    because the missing extern "C" has meanwhile been added to upstream dconf 
with
    
<https://gitlab.gnome.org/GNOME/dconf/-/commit/f860ddcc6a501b982d82c5630c73936bd611ad8a>
    "common: Add missing G_BEGIN/END_DECLS" towards tag 0.40.0.
    
    So the easiest fix here appears to be to bump our requirements to that dconf
    version 0.40.0:  The one case I'm aware of that explicitly wants dconf 
support
    is downstream Fedora and RHEL builds, which already have dconf 0.40.0
    (cf. most recent
    
<https://src.fedoraproject.org/rpms/dconf/blob/a9987b0abe15133d091bcd390fd33077881567ae/f/dconf.spec#_4>
    for f37 and most recent
    
<https://gitlab.com/redhat/centos-stream/rpms/dconf/-/blob/1bb6b46da242b75e5e1864f5c97ab6e592ca60ba/dconf.spec#L4>
    for e9s).  On the other hand, the TDF Linux release builds are done with an
    explicit --disable-dconf in distro-configs/LibreOfficeLinux.conf (since
    ecc617e797aa5ed329668114e54ec7ffa5c0e87b "configmgr: support reading from a
    dconf layer (WIP)") and the Flatpak builds on Flathub are done against an
    org.freedesktop.Sdk//22.08 where no dconf support is detected at all (for 
the
    most recent LO 7.5.1 build on Flathub see
    
    > checking for DCONF... no
    > checking whether to enable dconf... no
    
    at 
<https://buildbot.flathub.org/#/builders/5/builds/3184/steps/8/logs/stdio>
    for aarch64 and at
    <https://buildbot.flathub.org/#/builders/5/builds/3184/steps/8/logs/stdio> 
for
    x86_64).
    
    Change-Id: I559d2ac8712dbe2b40c9b881314b88d1cc8eaf43
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148887
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <[email protected]>

diff --git a/configmgr/source/dconf.cxx b/configmgr/source/dconf.cxx
index 9db51fa17cfb..a63a96c511da 100644
--- a/configmgr/source/dconf.cxx
+++ b/configmgr/source/dconf.cxx
@@ -16,14 +16,7 @@
 #include <limits>
 #include <vector>
 
-extern "C" {
-    //TODO: <https://bugzilla.gnome.org/show_bug.cgi?id=754245>
-    // "common/dconf-changeset.h etc. lack extern "C" wrapper for C++", fixed 
on current dconf
-    // master (towards 0.40?) now with
-    // 
<https://gitlab.gnome.org/GNOME/dconf/-/commit/db3d4df6d1a763698f27b013dc42da8d4ae02639>
-    // "Merge branch 'wip/issue-23' into 'master'"
 #include <dconf/dconf.h>
-}
 
 #include <com/sun/star/uno/Sequence.hxx>
 #include <o3tl/safeint.hxx>
diff --git a/configure.ac b/configure.ac
index 17fa8afac23a..1d388c9dc189 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11959,7 +11959,7 @@ dnl Check whether to build with dconf support.
 dnl =================================================
 
 if test $_os != Android -a $_os != iOS -a "$enable_dconf" != no; then
-    PKG_CHECK_MODULES([DCONF], [dconf >= 0.15.2], [], [
+    PKG_CHECK_MODULES([DCONF], [dconf >= 0.40.0], [], [
         if test "$enable_dconf" = yes; then
             AC_MSG_ERROR([dconf not found])
         else
commit 7a21cba913fe99ea11e0b6a9d4b1e61cf677f2e1
Author:     Stephan Bergmann <[email protected]>
AuthorDate: Tue Mar 14 22:28:23 2023 +0100
Commit:     Stephan Bergmann <[email protected]>
CommitDate: Wed Mar 15 08:23:24 2023 +0000

    Silence -Werror=deprecated-declarations for now
    
    ...as seen with gtk4-devel-4.10.0-3.fc38.x86_64,
    
    > avmedia/source/gtk/gtkplayer.cxx: In member function ‘virtual 
com::sun::star::uno::Reference<com::sun::star::media::XPlayerWindow> 
avmedia::gtk::GtkPlayer::createPlayerWindow(const 
com::sun::star::uno::Sequence<com::sun::star::uno::Any>&)’:
    > avmedia/source/gtk/gtkplayer.cxx:358:20: error: ‘void 
gtk_widget_show(GtkWidget*)’ is deprecated: Use 'gtk_widget_set_visible or 
gtk_window_present' instead [-Werror=deprecated-declarations]
    >   358 |     gtk_widget_show(m_pVideo);
    >       |     ~~~~~~~~~~~~~~~^~~~~~~~~~
    > In file included from /usr/include/gtk-4.0/gtk/gtkapplication.h:27,
    >                  from /usr/include/gtk-4.0/gtk/gtkwindow.h:33,
    >                  from /usr/include/gtk-4.0/gtk/gtkaboutdialog.h:30,
    >                  from /usr/include/gtk-4.0/gtk/gtk.h:34,
    >                  from avmedia/source/gtk/gtkplayer.cxx:28:
    > /usr/include/gtk-4.0/gtk/gtkwidget.h:273:12: note: declared here
    >   273 | void       gtk_widget_show                (GtkWidget           
*widget);
    >       |            ^~~~~~~~~~~~~~~
    > avmedia/source/gtk/gtkplayer.cxx:359:20: error: ‘void 
gtk_widget_show(GtkWidget*)’ is deprecated: Use 'gtk_widget_set_visible or 
gtk_window_present' instead [-Werror=deprecated-declarations]
    >   359 |     gtk_widget_show(pParent);
    >       |     ~~~~~~~~~~~~~~~^~~~~~~~~
    > /usr/include/gtk-4.0/gtk/gtkwidget.h:273:12: note: declared here
    >   273 | void       gtk_widget_show                (GtkWidget           
*widget);
    >       |            ^~~~~~~~~~~~~~~
    
    Change-Id: I1cb2988cec6cda3dd3e43a3773647a3ddaf211e2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148899
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <[email protected]>

diff --git a/avmedia/source/gtk/gtkplayer.cxx b/avmedia/source/gtk/gtkplayer.cxx
index 08b5f10c5b6d..51978c3e5b45 100644
--- a/avmedia/source/gtk/gtkplayer.cxx
+++ b/avmedia/source/gtk/gtkplayer.cxx
@@ -355,8 +355,12 @@ uno::Reference<::media::XPlayerWindow>
     GtkWidget* pParent = static_cast<GtkWidget*>(pEnvData->pWidget);
     gtk_widget_set_can_target(pParent, false);
     gtk_grid_attach(GTK_GRID(pParent), m_pVideo, 0, 0, 1, 1);
+    // "‘void gtk_widget_show(GtkWidget*)’ is deprecated: Use 
'gtk_widget_set_visible or
+    // gtk_window_present' instead":
+    SAL_WNODEPRECATED_DECLARATIONS_PUSH
     gtk_widget_show(m_pVideo);
     gtk_widget_show(pParent);
+    SAL_WNODEPRECATED_DECLARATIONS_POP
 
     xRet = new ::avmedia::gstreamer::Window;
 

Reply via email to