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

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

 



I work on fix here:

Regards,
Arkadiy Illarionov


On Thu, Sep 26, 2019 at 1:12 PM Stephan Bergmann <sbergman@xxxxxxxxxx> wrote:
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
_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice

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

  Powered by Linux