[gtkmm] Re: Custom cell renderer, seg fault & core dump on widget.get_default_colormap () [solved]
- From: Mark Jones <mark jones106 verizon net>
- To: gtkmm-list gnome org
- Subject: [gtkmm] Re: Custom cell renderer, seg fault & core dump on widget.get_default_colormap () [solved]
- Date: 20 Dec 2002 12:28:14 -0500
Well, sometimes a night of sleep can be all that is needed I guess, you
wake up with new ideas to try and reasons to do so.
Instead of:
colormap=widget.get_default_colormap ();
I decided to try:
colormap=widget.get_style()->get_black_gc()->get_colormap();
This fixed the problem.
On Thu, 2002-12-19 at 22:53, Mark Jones wrote:
> I'm trying to implement a custom treeview cell renderer and I'm
> following the example in the distribution:
> examples/cellrenderercustom/cellrenderertoggle.cc
>
> I have:
>
> void MyCellRenderer::drawMyArea(
> const Glib::RefPtr<Gdk::Window>& window,
> Gtk::Widget& widget,
> int x,
> int y,
> int width,
> int height )
> {
> // lines like those in the example except those referrring to style
> // and shadow since I'm doing the drawing myself, and then:
>
> colormap=widget.get_default_colormap ();
>
> // intending later to do things like:
> // colormap->alloc_color(black_);
> }
>
> This is essentially all right now, and if the line above is commented
> out, my problem does not occur.
>
> The problem:
>
> This is used for one column of my table (treeview) and when my table is
> scrolled side to side over and over and over, and the column goes in and
> out of view over and over, I can get it to seg fault everytime.
>
> There were other lines following this that drew in that cell, but I
> commented them out to narrow it down to this as the problem line. I get
> the colormap, do things with colors, draw rects, points, etc. But, all
> that is commented out right now. That all works fine, except for this
> problem.
>
> I have looked for NULL pointers on widget and window (and their
> gobj()'s), but is there something I should be checking for before
> calling widget.get_default_colormap()? Or is there something else I
> should do instead of calling that?
>
> Or is there a better way to do what I'm trying to do?
>
> Thanks,
>
> Mark
>
> PS Some messages I've gotten (but sometimes I get none, and sometimes I
> get different ones):
> GLib-GObject-CRITICAL **: file gobject.c: line 1289 (g_object_ref):
> assertion `G_IS_OBJECT (object)' failed
>
> GLib-GObject-CRITICAL **: file gobject.c: line 1307 (g_object_unref):
> assertion `G_IS_OBJECT (object)' failed
>
> GLib-GObject-CRITICAL **: file gobject.c: line 1307 (g_object_unref):
> assertion `G_IS_OBJECT (object)' failed
>
> Gdk-CRITICAL **: file gdkdraw.c: line 227 (gdk_drawable_set_colormap):
> assertion `cmap == NULL || gdk_drawable_get_depth (drawable) ==
> cmap->visual->depth' failed
>
> GLib-GObject-CRITICAL **: file gobject.c: line 1289 (g_object_ref):
> assertion `G_IS_OBJECT (object)' failed
>
> GLib-GObject-CRITICAL **: file gobject.c: line 1307 (g_object_unref):
> assertion `G_IS_OBJECT (object)' failed
>
> Gdk-CRITICAL **: file gdkdraw.c: line 227 (gdk_drawable_set_colormap):
> assertion `cmap == NULL || gdk_drawable_get_depth (drawable) ==
> cmap->visual->depth' failed
>
> Gdk-CRITICAL **: file gdkcolor-x11.c: line 1039
> (gdk_colormap_query_color): assertion `GDK_IS_COLORMAP (colormap)'
> failed
--
Mark Jones <mark jones106 verizon net>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]