Re: [Gimp-developer] 1.2 Bug Hunting

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

 



Hi,

Dave Neary <dave.neary@xxxxxxxxxx> writes:

> I couldn't build gimp 1.2 (with gcc 2.96 - RedHat's 7.0 prerelease) for
> the first time recently because of the following line in
> app/histogram_tool.c:
> Line 230:
>       gimp_option_menu_set_history (g_list_nth_data
> (gtk_container_children 
> 	(GTK_CONTAINER (histogram_tool_dialog->channel_menu)), 1), 
> 	GIMP_HISTOGRAM_VALUE);
> 
> The prototype for gimp_option_menu_set_history is 
> void  gimp_option_menu_set_history (GtkOptionMenu      *option_menu,
> 				    gpointer            user_data);
> and GIMP_HISTOGRAM_VALUE is an enum value equal to 0. The problem is
> hidden with a cast to gpointer.

the code is subtly wrong. Integers (thus enums) should always be casted
using GINT_TO_POINTER() before passing them as user_data. The callback
function then has to use GPOINTER_TO_INT(). Usually these macros do
nothing but cast to (void *) and (int) respectively, but an explicit
cast should be enough here to make your compiler happy.

I'll look into fixing this later or wait for a patch. Please report if 
you find more of these.


Salut, Sven


[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux