Re: Reference to a C++ object in GTK+ callbacks
- From: "Andrew J. Montalenti" <ajm pixelmonkey org>
- To: paulsm srccorp com
- Cc: gtk-app-devel-list gnome org
- Subject: Re: Reference to a C++ object in GTK+ callbacks
- Date: Tue, 13 Dec 2005 19:09:26 -0500
How about trying gdb, seeing what the value of ani is at the time of the
crash. How about a backtrace?
It's hard to debug your problem as described. But I have a feeling with
some minimal gdb'ing you can find the bug yourself.
-Andrew
On Tue, 2005-12-13 at 16:00 -0800, Paul Santa Maria wrote:
Hi -
I'm using the GTK+ 2.6.4 that came with Suse 9.3. I'm coding in C++, but using the "raw" GTK+ C
libraries.
I'm trying to pass a pointer to one of my C++ classes into a callback, so that I can call a method
on that class. The code looks like this:
1. less hbaview.h =>
--------------
class HbaviewApp
{
...
private:
AnimationFile *m_animation;
...
class Hbafile : public AnimationFile
{
public:
Hbafile (GtkWidget *da);
virtual ~Hbafile ();
virtual void open (const char *fname);
virtual void close ();
virtual void start ();
...
2. less HbaviewApp.cpp =>
-------------------
void init ()
...
GtkWidget *play =
gtk_image_menu_item_new_from_stock (
"gtk-media-play", accel_group);
gtk_widget_show (play);
gtk_container_add (GTK_CONTAINER (menu3), play);
gtk_signal_connect (GTK_OBJECT (play), "activate",
G_CALLBACK (play_cb), m_animation);
...
3. less callbacks.cpp =>
------------------
gboolean
play_cb (gpointer data)
{
// Deference the object pointer to do the actual work
AnimationFile *ani = (AnimationFile *)data;
ani->start ();
}
"ani->start()" works fine outside of the callback. I know my Animation object has been
successfully created and that "m_animation" points to it before I call gtk_signal_connect().
But it crashes with a signal SIGSEGV, Segmentation fault when the play_cb callback tries to call
ani->start().
Any idea what I might be doing wrong?
Or tips for debugging the problem?
Thanx in advance!
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]