Deprecated G_TYPE_INSTANCE_GET_PRIVATE in vcl/unx/gtk/gloactiongroup.cxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ever since <https://gerrit.libreoffice.org/plugins/gitiles/core/+/36c1c2c2754dda6e8d2b2802e3881465adaafbec%5E!/> "Added GLOMenu and GLOActionGroup. Menu is published with actions (not working)", g_lo_action_group_init in vcl/unx/gtk/gloactiongroup.cxx contains a call

    group->priv = G_TYPE_INSTANCE_GET_PRIVATE (group,
                                                 G_TYPE_LO_ACTION_GROUP,
                                                 GLOActionGroupPrivate);

that GLib 2.62 (as seen on Fedora 31) now warns about:

[CXX] vcl/unx/gtk3/gtk3gloactiongroup.cxx
In file included from vcl/unx/gtk3/gtk3gloactiongroup.cxx:3:
vcl/unx/gtk3/../gtk/gloactiongroup.cxx:317:19: warning: G_ADD_PRIVATE [-W#pragma-messages]
    group->priv = G_TYPE_INSTANCE_GET_PRIVATE (group,
                  ^
/usr/include/glib-2.0/gobject/gtype.h:643:145: note: expanded from macro 'G_TYPE_INSTANCE_GET_PRIVATE'
#define G_TYPE_INSTANCE_GET_PRIVATE(instance, g_type, c_type)   ((c_type*) g_type_instance_get_private ((GTypeInstance*) (instance), (g_type))) GLIB_DEPRECATED_MACRO_IN_2_58_FOR(G_ADD_PRIVATE)
                                                                                                                                                ^
/usr/include/glib-2.0/glib/gversionmacros.h:831:49: note: expanded from macro 'GLIB_DEPRECATED_MACRO_IN_2_58_FOR'
# define GLIB_DEPRECATED_MACRO_IN_2_58_FOR(f)   GLIB_DEPRECATED_MACRO_FOR(f)
                                                ^
/usr/include/glib-2.0/glib/gmacros.h:990:38: note: expanded from macro 'GLIB_DEPRECATED_MACRO_FOR'
#define GLIB_DEPRECATED_MACRO_FOR(f) _GLIB_GNUC_DO_PRAGMA(GCC warning #f)
                                     ^
/usr/include/glib-2.0/glib/gmacros.h:988:33: note: expanded from macro '_GLIB_GNUC_DO_PRAGMA'
#define _GLIB_GNUC_DO_PRAGMA(x) _Pragma(G_STRINGIFY (x))
                                ^
<scratch space>:57:6: note: expanded from here
 GCC warning "G_ADD_PRIVATE"
     ^
1 warning generated.

(And while Clang keeps that a warning even with -Werror, it causes a true error breaking the build when building with GCC and --enable-werror.)

<https://developer.gnome.org/gobject/stable/gobject-Type-Information.html#G-TYPE-INSTANCE-GET-PRIVATE:CAPS> states: "G_TYPE_INSTANCE_GET_PRIVATE has been deprecated since version 2.58 and should not be used in newly-written code. Use G_ADD_PRIVATE and the generated your_type_get_instance_private() function instead"

But I have no idea how to fix that. So if anybody can clean it up, that would be great. (Failing that, we can always add a sledgehammer

#define GLIB_DISABLE_DEPRECATION_WARNINGS

near the top of vcl/unx/gtk/gloactiongroup.cxx, similar to what is done in <https://gerrit.libreoffice.org/plugins/gitiles/core/+/59f96e1736c14575aee7575e73b50e96cf467bb0%5E!/> "While I could swear that it worked yesterday".)

_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux