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]