Date: Wed, 5 Jul 2023 01:26:49 +0100 From: Nuno Teixeira <eduardo@freebsd.org> To: Charlie Li <vishwin@freebsd.org> Cc: Dimitry Andric <dim@freebsd.org>, Danilo Egea Gondolfo <danilo@freebsd.org>, FreeBSD Ports <ports@freebsd.org> Subject: Re: glib2 deprecated declarations failing on clang16 Message-ID: <CAFDf7UKExfRx3otBxwWbEoYVVKkjLKVfjSGaFYFgvSoOu=NOWg@mail.gmail.com> In-Reply-To: <a8092c85-c9f1-8668-f843-fd2e74c4048b@freebsd.org> References: <CAFDf7U%2B-M1D7xL_AkB-eY%2B0jq2JjjdhzoZUZtnmanVoa25vOtQ@mail.gmail.com> <BBD89BC1-8E9D-4E6D-887E-4A785F4A21D4@FreeBSD.org> <ffcb1751-dc86-b241-d7aa-f54896851697@FreeBSD.org> <CAFDf7ULBM1pV_X6OeRKbEggfyGcd0j-LuF720usWtM8KaG%2BJFA@mail.gmail.com> <22F61A7B-3566-4761-8D7A-DC78B9CF20E6@FreeBSD.org> <CAFDf7UJmiM8Lk4Ua--h2YY6WCwsNgXDHnPJrv4YaJCyGqj3fAw@mail.gmail.com> <CAFDf7ULvS9cQZ4Exzpn5j3hohU03SWjenLHG_XcRCN=pN0RfXQ@mail.gmail.com> <a8092c85-c9f1-8668-f843-fd2e74c4048b@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--00000000000049858905ffb275c0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello all, Ticket opened at upstream: https://sourceforge.net/p/bluefish/tickets/75/ https://cgit.freebsd.org/ports/commit/?id=3De95c4bea425b3e3c49b63e0cf4eff24= af40c574b Thank you! Charlie Li <vishwin@freebsd.org> escreveu no dia ter=C3=A7a, 4/07/2023 =C3= =A0(s) 18:33: > Nuno Teixeira wrote: > > (...) > > > > Should this be applied upstream? > > I could open a upstream PR about it. > > > After looking through some history on the glib side (which have been > fixing incompatible function pointer conditions as they appear), > G_CALLBACK() should be applied to bluefish. Upstreaming is a good idea. > > Nuno Teixeira <eduardo@freebsd.org <mailto:eduardo@freebsd.org>> > > escreveu no dia ter=C3=A7a, 4/07/2023 =C3=A0(s) 15:42: > > > > And run test sucess at main-n263935-e8423423737e > > > > I will do more testport builds with gtk2 and gtk3. > > > > I will use something like in commit msg: > > --- > > Fix build with clang16 > > Use G_CALLBACK() macro to silence incompatible function pointer > > warnings and > > disables any argument checks. > > > > Reported by: dim > > --- > > > > Cheers, > > > > Dimitry Andric <dim@freebsd.org <mailto:dim@freebsd.org>> escreveu > > no dia ter=C3=A7a, 4/07/2023 =C3=A0(s) 15:31: > > > > I got to exactly the same patches. This is due to how glib's > > gclosure.h > > header declares its callback function type as '(void)', even > > though in > > reality the number and type of the arguments varies: > > > > /** > > * GCallback: > > * > > * The type used for callback functions in structure > > definitions and function > > * signatures. > > * > > * This doesn't mean that all callback functions must take > > no parameters and > > * return void. The required signature of a callback functio= n > > is determined by > > > > * the context in which is used (e.g. the signal to which > > it is connected). > > * > > * Use G_CALLBACK() to cast the callback function to a > > #GCallback. > > */ > > typedef void (*GCallback) (void); > > > > It would have been better if glib had just used '(...)', but th= e > > solution they have chosen requires each callback function to be > cast > > using the G_CALLBACK() macro. > > > > That basically shuts up any incompatible function pointer > > warnings, and > > disables any argument checks. > > > > -Dimitry > > > > > On 4 Jul 2023, at 16:21, Nuno Teixeira <eduardo@freebsd.org > > <mailto:eduardo@freebsd.org>> wrote: > > > > > > Hello Danilo! > > > > > > Yes, it builds ok. > > > > > > I will do a run test tomorrow on bluefish. > > > > > > Any hint on how to explain it in commit: > > > > > > --- > > > --- src/bftextview2_autocomp.c.orig 2023-07-04 14:09:37 > UTC > > > +++ src/bftextview2_autocomp.c > > > @@ -429,7 +429,7 @@ acwin_create(BluefishTextView * btv) > > > /*gtk_widget_set_size_request(acw->reflabel,150,-1); > */ > > > gtk_widget_show_all(acw->scroll); > > > gtk_widget_show(hbox); > > > - g_signal_connect(acw->reflabel, "activate-link", > > acw_label_active_link_lcb, acw); > > > + g_signal_connect(acw->reflabel, "activate-link", > > G_CALLBACK(acw_label_active_link_lcb), acw); > > > > > /*gtk_widget_set_size_request(GTK_WIDGET(acw->tree),100,200); > */ > > > /*gtk_widget_set_size_request(acw->win, 150, 200); *= / > > > > > > /*g_signal_connect(G_OBJECT(acw->win),"key-release-event",G_CALLBACK(acw= in_key_release_lcb),acw); > */ > > > --- > > > and > > > --- > > > --- src/external_commands.c.orig 2023-07-04 14:12:18 > UTC > > > +++ src/external_commands.c > > > @@ -483,7 +483,7 @@ create_commandstring(Texternalp * ep, > > const gchar * fo > > > > > > gtk_dialog_set_default_response(GTK_DIALOG(dialog),GTK_RESPONSE_ACCEPT); > > > tmp =3D g_strdup_printf(_("Supply arguments = to > > define %%a in '%s'"), formatstring); > > > entry =3D dialog_entry_labeled(NULL, tmp, > > gtk_dialog_get_content_area(GTK_DIALOG(dialog)), 6); > > > - g_signal_connect(G_OBJECT(entry), "activate"= , > > command_dialog_entry_activated_lcb, dialog); > > > + g_signal_connect(G_OBJECT(entry), "activate"= , > > G_CALLBACK(command_dialog_entry_activated_lcb), dialog); > > > g_free(tmp); > > > gtk_widget_show_all(dialog); > > > result =3D gtk_dialog_run(GTK_DIALOG(dialog)= ); > > > --- > > > > > > Thanks! > > > > > > Danilo Egea Gondolfo <danilo@freebsd.org > > <mailto:danilo@freebsd.org>> escreveu no dia ter=C3=A7a, 4/07/2= 023 > > =C3=A0(s) 15:00: > > > On 04/07/2023 14:56, Dimitry Andric wrote: > > > > > > > On 4 Jul 2023, at 14:37, Nuno Teixeira <eduardo@freebsd.or= g > > <mailto:eduardo@freebsd.org>> wrote: > > > >> I'm getting build errors from current with www/bluefish > > about deprecated glib2 declarations and causing build to fail > > with clang16: > > > >> --- > > > >> /usr/local/include/glib-2.0/glib/gmacros.h:1262:37: note: > > expanded from macro 'G_DEPRECATED' > > > >> #define G_DEPRECATED __attribute__((__deprecated__)) > > > >> ^ > > > >> mv -f .deps/bluefish.Tpo .deps/bluefish.Po > > > >> bftextview2_langmgr.c:2665:2: warning: > > 'g_thread_create_full' is deprecated: Use 'g_thread_new' instea= d > > [-Wdeprecated-declarations] > > > >> g_thread_create_full(build_bflang2scan_thread, > > NULL, 0, FALSE, FALSE, G_THREAD_PRIORITY_LOW, &gerror); > > > >> --- > > > >> > > > >> Any help is welcome on finding out its cause. > > > >> > > > >> a related issue: > > https://github.com/PCSX2/pcsx2/issues/3315 > > <https://github.com/PCSX2/pcsx2/issues/3315> > > > >> > > > >> Build log: > > > https://pkg-status.freebsd.org/beefy17/data/main-i386-default/pf46bd2c584= 25_s0631830a7a/logs/bluefish-2.2.14.log > < > https://pkg-status.freebsd.org/beefy17/data/main-i386-default/pf46bd2c584= 25_s0631830a7a/logs/bluefish-2.2.14.log > > > > > > The actual error is an incompatible callback function > > signature: > > > > > > > > bftextview2_autocomp.c:432:2: error: incompatible function > > pointer types passing 'gboolean (GtkLabel *, gchar *, gpointer)= ' > > (aka 'int (struct _GtkLabel *, char *, void *)') to parameter o= f > > type 'GCallback' (aka 'void (*)(void)') > > [-Wincompatible-function-pointer-types] > > > > g_signal_connect(acw->reflabel, "activate-link", > > acw_label_active_link_lcb, acw); > > > > > > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~ > > > > /usr/local/include/glib-2.0/gobject/gsignal.h:515:59: note= : > > expanded from macro 'g_signal_connect' > > > > g_signal_connect_data ((instance), (detailed_signal), > > (c_handler), (data), NULL, (GConnectFlags) 0) > > > > ^~~~~~~~~~~ > > > > /usr/local/include/glib-2.0/gobject/gsignal.h:411:25: note= : > > passing argument to parameter 'c_handler' here > > > > GCallback c_handler, > > > > ^ > > > > > > > > I have seen these more often with glib-based applications. > > In some cases > > > > it is feasible to fix the callback function to have the > correct > > > > signature, in other cases you can slap a cast in place. Or= , > > if the > > > > affected code is vala-generated (also happens), the big > > hammer is to > > > > suppress the warning(s). > > > > > > > > -Dimitry > > > > > > > Not a glib expert here, but you can try this > > https://pastebin.com/ty8hLjVU <https://pastebin.com/ty8hLjVU> > > > > > > > > > > > > -- > > > Nuno Teixeira > > > FreeBSD Committer (ports) > > > > > > > > -- > > Nuno Teixeira > > FreeBSD Committer (ports) > > > > > > > > -- > > Nuno Teixeira > > FreeBSD Committer (ports) > > -- > Charlie Li > =E2=80=A6nope, still don't have an exit line. > > --=20 Nuno Teixeira FreeBSD Committer (ports) --00000000000049858905ffb275c0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Hello all,</div><div><br></div><div>Ticket opened at = upstream: <a href=3D"https://sourceforge.net/p/bluefish/tickets/75/">https:= //sourceforge.net/p/bluefish/tickets/75/</a></div><div><br></div><div><a hr= ef=3D"https://cgit.freebsd.org/ports/commit/?id=3De95c4bea425b3e3c49b63e0cf= 4eff24af40c574b">https://cgit.freebsd.org/ports/commit/?id=3De95c4bea425b3e= 3c49b63e0cf4eff24af40c574b</a></div><div><br></div><div>Thank you!<br></div= ></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr"= >Charlie Li <<a href=3D"mailto:vishwin@freebsd.org">vishwin@freebsd.org<= /a>> escreveu no dia ter=C3=A7a, 4/07/2023 =C3=A0(s) 18:33:<br></div><bl= ockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-lef= t:1px solid rgb(204,204,204);padding-left:1ex">Nuno Teixeira wrote:<br> > (...)<br> > <br> > Should this be applied upstream?<br> > I could open a upstream PR about it.<br> > <br> After looking through some history on the glib side (which have been <br> fixing incompatible function pointer conditions as they appear), <br> G_CALLBACK() should be applied to bluefish. Upstreaming is a good idea.<br> > Nuno Teixeira <<a href=3D"mailto:eduardo@freebsd.org" target=3D"_bl= ank">eduardo@freebsd.org</a> <mailto:<a href=3D"mailto:eduardo@freebsd.o= rg" target=3D"_blank">eduardo@freebsd.org</a>>> <br> > escreveu no dia ter=C3=A7a, 4/07/2023 =C3=A0(s) 15:42:<br> > <br> >=C2=A0 =C2=A0 =C2=A0And run test sucess at main-n263935-e8423423737e<br= > > <br> >=C2=A0 =C2=A0 =C2=A0I will do more testport builds with gtk2 and gtk3.<= br> > <br> >=C2=A0 =C2=A0 =C2=A0I will use something like in commit msg:<br> >=C2=A0 =C2=A0 =C2=A0---<br> >=C2=A0 =C2=A0 =C2=A0Fix build with clang16<br> >=C2=A0 =C2=A0 =C2=A0Use G_CALLBACK() macro to silence incompatible func= tion pointer<br> >=C2=A0 =C2=A0 =C2=A0warnings and<br> >=C2=A0 =C2=A0 =C2=A0disables any argument checks.<br> > <br> >=C2=A0 =C2=A0 =C2=A0Reported by: dim<br> >=C2=A0 =C2=A0 =C2=A0---<br> > <br> >=C2=A0 =C2=A0 =C2=A0Cheers,<br> > <br> >=C2=A0 =C2=A0 =C2=A0Dimitry Andric <<a href=3D"mailto:dim@freebsd.or= g" target=3D"_blank">dim@freebsd.org</a> <mailto:<a href=3D"mailto:dim@f= reebsd.org" target=3D"_blank">dim@freebsd.org</a>>> escreveu<br> >=C2=A0 =C2=A0 =C2=A0no dia ter=C3=A7a, 4/07/2023 =C3=A0(s) 15:31:<br> > <br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0I got to exactly the same patches. Th= is is due to how glib's<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0gclosure.h<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0header declares its callback function= type as '(void)', even<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0though in<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0reality the number and type of the ar= guments varies:<br> > <br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /**<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* GCallback:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* The type used for cal= lback functions in structure<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0definitions and function<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* signatures.<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* This doesn't mean= that all callback functions must take<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0no=C2=A0 parameters and<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* return void. The requ= ired signature of a callback function<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0is determined by=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<b= r> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 * the context i= n which is used (e.g. the signal to which<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0it is connected).<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0* Use G_CALLBACK() to c= ast the callback function to a<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0#GCallback.<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0*/<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 typedef void=C2=A0 (*GCallbac= k)=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (void);<br> > <br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0It would have been better if glib had= just used '(...)', but the<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0solution they have chosen requires ea= ch callback function to be cast<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0using the G_CALLBACK() macro.<br> > <br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0That basically shuts up any incompati= ble function pointer<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0warnings, and<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0disables any argument checks.<br> > <br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0-Dimitry<br> > <br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > On 4 Jul 2023, at 16:21, Nuno T= eixeira <<a href=3D"mailto:eduardo@freebsd.org" target=3D"_blank">eduard= o@freebsd.org</a><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<mailto:<a href=3D"mailto:eduardo@= freebsd.org" target=3D"_blank">eduardo@freebsd.org</a>>> wrote:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > Hello Danilo!<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > Yes, it builds ok.<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > I will do a run test tomorrow o= n bluefish.<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > Any hint on how to explain it i= n commit:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ---<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > --- src/bftextview2_autocomp.c.= orig=C2=A0 =C2=A0 =C2=A02023-07-04 14:09:37 UTC<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > +++ src/bftextview2_autocomp.c<= br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > @@ -429,7 +429,7 @@ acwin_creat= e(BluefishTextView * btv)<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0/*gtk_widget_set_size_request(acw->reflabel,150,-1); */<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0gtk_widget_show_all(acw->scroll);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0gtk_widget_show(hbox);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > -=C2=A0 =C2=A0 =C2=A0 =C2=A0g_s= ignal_connect(acw->reflabel, "activate-link",<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0acw_label_active_link_lcb, acw);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > +=C2=A0 =C2=A0 =C2=A0 =C2=A0g_s= ignal_connect(acw->reflabel, "activate-link",<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0G_CALLBACK(acw_label_active_link_lcb)= , acw);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/*gtk_widget_set_size_request(= GTK_WIDGET(acw->tree),100,200); */<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0/*gtk_widget_set_size_request(acw->win, 150, 200); */<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/*g_signal_connect(G_OBJECT(ac= w->win),"key-release-event",G_CALLBACK(acwin_key_release_lcb),= acw); */<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ---<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > and<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ---<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > --- src/external_commands.c.ori= g=C2=A0 =C2=A0 =C2=A0 =C2=A0 2023-07-04 14:12:18 UTC<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > +++ src/external_commands.c<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > @@ -483,7 +483,7 @@ create_comm= andstring(Texternalp * ep,<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0const gchar * fo<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0gtk_dialog_set_default_respons= e(GTK_DIALOG(dialog),GTK_RESPONSE_ACCEPT);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0tmp =3D g_strdup_printf(_("Supply argum= ents to<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0define %%a in '%s'"), fo= rmatstring);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0entry =3D dialog_entry_labeled(NULL, tmp,<br= > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0gtk_dialog_get_content_area(GTK_DIALO= G(dialog)), 6);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > -=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0g_signal_connect(G_OBJECT(entry), "activate= ",<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0command_dialog_entry_activated_lcb, d= ialog);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > +=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0g_signal_connect(G_OBJECT(entry), "activate= ",<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0G_CALLBACK(command_dialog_entry_activ= ated_lcb), dialog);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0g_free(tmp);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0gtk_widget_show_all(dialog);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0result =3D gtk_dialog_run(GTK_DIALOG(dialog)= );<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ---<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > Thanks!<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > Danilo Egea Gondolfo <<a hre= f=3D"mailto:danilo@freebsd.org" target=3D"_blank">danilo@freebsd.org</a><br= > >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<mailto:<a href=3D"mailto:danilo@f= reebsd.org" target=3D"_blank">danilo@freebsd.org</a>>> escreveu no di= a ter=C3=A7a, 4/07/2023<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C3=A0(s) 15:00:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > On 04/07/2023 14:56, Dimitry An= dric wrote:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > On 4 Jul 2023, at 14:37, N= uno Teixeira <<a href=3D"mailto:eduardo@freebsd.org" target=3D"_blank">e= duardo@freebsd.org</a><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<mailto:<a href=3D"mailto:eduardo@= freebsd.org" target=3D"_blank">eduardo@freebsd.org</a>>> wrote:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >> I'm getting build = errors from current with www/bluefish<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0about deprecated glib2 declarations a= nd causing build to fail<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0with clang16:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >> ---<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >> /usr/local/include/gli= b-2.0/glib/gmacros.h:1262:37: note:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0expanded from macro 'G_DEPRECATED= '<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >> #define G_DEPRECATED _= _attribute__((__deprecated__))<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >>=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >> mv -f .deps/bluefish.T= po .deps/bluefish.Po<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >> bftextview2_langmgr.c:= 2665:2: warning:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0'g_thread_create_full' is dep= recated: Use 'g_thread_new' instead<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[-Wdeprecated-declarations]<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >>=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 g_thread_create_full(build_bflang2scan_thread,<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0NULL, 0, FALSE, FALSE, G_THREAD_PRIOR= ITY_LOW, &gerror);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >> ---<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >> Any help is welcome on= finding out its cause.<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >> a related issue:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"https://github.com/PCSX2/p= csx2/issues/3315" rel=3D"noreferrer" target=3D"_blank">https://github.com/P= CSX2/pcsx2/issues/3315</a><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<<a href=3D"https://github.com/PCS= X2/pcsx2/issues/3315" rel=3D"noreferrer" target=3D"_blank">https://github.c= om/PCSX2/pcsx2/issues/3315</a>><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > >> Build log:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"https://pkg-status.freebsd= .org/beefy17/data/main-i386-default/pf46bd2c58425_s0631830a7a/logs/bluefish= -2.2.14.log" rel=3D"noreferrer" target=3D"_blank">https://pkg-status.freebs= d.org/beefy17/data/main-i386-default/pf46bd2c58425_s0631830a7a/logs/bluefis= h-2.2.14.log</a> <<a href=3D"https://pkg-status.freebsd.org/beefy17/data= /main-i386-default/pf46bd2c58425_s0631830a7a/logs/bluefish-2.2.14.log" rel= =3D"noreferrer" target=3D"_blank">https://pkg-status.freebsd.org/beefy17/da= ta/main-i386-default/pf46bd2c58425_s0631830a7a/logs/bluefish-2.2.14.log</a>= ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > The actual error is an inc= ompatible callback function<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0signature:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > bftextview2_autocomp.c:432= :2: error: incompatible function<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0pointer types passing 'gboolean (= GtkLabel *, gchar *, gpointer)'<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(aka 'int (struct _GtkLabel *, ch= ar *, void *)') to parameter of<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0type 'GCallback' (aka 'vo= id (*)(void)')<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0[-Wincompatible-function-pointer-type= s]<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > g_signal_connect(acw->r= eflabel, "activate-link",<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0acw_label_active_link_lcb, acw);<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > /usr/local/include/glib-2.= 0/gobject/gsignal.h:515:59: note:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0expanded from macro 'g_signal_con= nect'<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > g_signal_connect_data ((in= stance), (detailed_signal),<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(c_handler), (data), NULL, (GConnectF= lags) 0)<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > ^~~~~~~~~~~<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > /usr/local/include/glib-2.= 0/gobject/gsignal.h:411:25: note:<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0passing argument to parameter 'c_= handler' here<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > GCallback c_handler,<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > ^<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > I have seen these more oft= en with glib-based applications.<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0In some cases<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > it is feasible to fix the = callback function to have the correct<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > signature, in other cases = you can slap a cast in place. Or,<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if the<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > affected code is vala-gene= rated (also happens), the big<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0hammer is to<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > suppress the warning(s).<b= r> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > > -Dimitry<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > Not a glib expert here, but you= can try this<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"https://pastebin.com/ty8hL= jVU" rel=3D"noreferrer" target=3D"_blank">https://pastebin.com/ty8hLjVU</a>= <<a href=3D"https://pastebin.com/ty8hLjVU" rel=3D"noreferrer" target=3D= "_blank">https://pastebin.com/ty8hLjVU</a>><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ><br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > --<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > Nuno Teixeira<br> >=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 > FreeBSD Committer (ports)<br> > <br> > <br> > <br> >=C2=A0 =C2=A0 =C2=A0-- <br> >=C2=A0 =C2=A0 =C2=A0Nuno Teixeira<br> >=C2=A0 =C2=A0 =C2=A0FreeBSD Committer (ports)<br> > <br> > <br> > <br> > -- <br> > Nuno Teixeira<br> > FreeBSD Committer (ports)<br> <br> -- <br> Charlie Li<br> =E2=80=A6nope, still don't have an exit line.<br> <br> </blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre= fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"l= tr"><span style=3D"color:rgb(102,102,102)">Nuno Teixeira<br>FreeBSD Committ= er (ports)</span></div></div> --00000000000049858905ffb275c0--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAFDf7UKExfRx3otBxwWbEoYVVKkjLKVfjSGaFYFgvSoOu=NOWg>