Hello everybody,

I have a clutter from git (0.9) and clutter-gtk from git too (0.9).
When I used them in my project, I've got a strange Gtk-CRITICAL
warning, while I resized the main window. I've also tried to build
clutter-gtk with standard ./configure && make, and launch an example
with such way:

~/git/clutter-gtk/examples$ ./gtk-clutter-multistage
(/home/vest/git/clutter-gtk/examples/.libs/lt-gtk-clutter-multistage:1496):
Gtk-CRITICAL **: gtk_widget_queue_draw: assertion `GTK_IS_WIDGET
(widget)' failed
(/home/vest/git/clutter-gtk/examples/.libs/lt-gtk-clutter-multistage:1496):
Gtk-CRITICAL **: gtk_widget_queue_draw: assertion `GTK_IS_WIDGET
(widget)' failed
.... and so on. These errors are occured only with resizable widgets.

I think, I've found the correct answer of my problem:

clutter-gtk/gtk-clutter-embed.c
502:  priv->queue_redraw_id =
503:    g_signal_connect (priv->stage,
504:                      "queue-redraw", G_CALLBACK (on_stage_queue_redraw),
505:                      embed);

due to help: on_stage_queue_redraw should have a prototype in the next way:
The "queue-redraw" signal
void user_function (ClutterActor *actor,
                            ClutterActor *origin,
                            gpointer      user_data)      : Run Last

but in clutter-gtk/gtk-clutter-embed.c
91: static void
92: on_stage_queue_redraw (ClutterStage *stage,
93:                       gpointer      user_data)
94:{
95:  GtkWidget *embed = user_data;

it looks like user_data isn't embed, but is a origin. When I've
changed the lines as
91: static void
92: on_stage_queue_redraw (ClutterStage *stage, ClutterStage* origin,
93:                       gpointer      user_data)
everything got work!!!

Should I create a new bug in Bugzilla, or you will change a code a bit
without bug creation?

Thank you for reply in advance,
Vlad Volodin
-- 
To unsubscribe send a mail to [email protected]

Reply via email to