Re: colormap assertion errors
- From: Murray Cumming <murrayc murrayc com>
- To: Rob Benton <rob benton conwaycorp net>
- Cc: gtkmm-list <gtkmm-list gnome org>
- Subject: Re: colormap assertion errors
- Date: Tue, 30 Nov 2004 15:07:55 +0100
On Mon, 2004-11-29 at 21:54 -0600, Rob Benton wrote:
> I've narrowed down the error to one variable, the Gdk::Colormap. That's
> what's failing the assertion with:
>
> -ERRORS---------------------------------------------------------
> (chip:3201): GLib-GObject-CRITICAL **: file gobject.c: line 1579
> (g_object_unref): assertion `G_IS_OBJECT (object)' failed
> (chip:3201): Gdk-CRITICAL **: file gdkcolor-x11.c: line 690
> (gdk_colormap_free_colors): assertion `GDK_IS_COLORMAP (colormap)' failed
> ----------------------------------------------------------------
>
> I'm declaring a Gtk::DrawingArea member variable on the stack and a
> Glib::RefPtr<Gdk::Colormap> member variable. Then I'm using this line
> inside the class' constructor:
>
> -CODE-----------------------------------------------------------
> _colormap = _drawarea.get_default_colormap();
> ----------------------------------------------------------------
I have discovered a bug in Gtk::Widget::get_default_colormap(). It needs
a "refreturn" in the .hg file. I'll fix that.
As a workaround for now, you should be able to using
Gdk::Screen::get_default()->get_default_colormap(). However, you need at
least gtkmm 2.4.6, because Screen::get_default() used to have the same
problem.
By the way, Gtk::Widget::get_default_colormap() is a static function, so
you don't need the _drawarea instance in order to call it.
--
Murray Cumming
murrayc murrayc com
www.murrayc.com
www.openismus.com
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]