problem with XPM from files



G'Day !

I am trying to create toolbars using pixmaps loaded from files.  If I do it
using XPM definitions in header files, it works.  However I can't get it to
work when I switch to files.  I keep getting the following errors.

Gtk-CRITICAL **: file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val
!= NULL' failed.
Gtk-CRITICAL **: file gtkwidget.c: line 1427 (gtk_widget_show): assertion
`widget != NULL' failed.


I use the folowing function to load the pixmap. (attached is a xpm
datafile).


/*  
 * --- Create Widget from XPM file
 */
GtkWidget *CreateWidgetFromXpmFile (GtkWidget *window, gchar *xpm_datafile)
{
  GdkBitmap *mask;
  GdkPixmap *pixmap;
  GtkWidget *pixmapwid;

  gchar buffer[50];

  sprintf (buffer, "%s", xpm_datafile);

  style = gtk_widget_get_style (window);

  /* load a pixmap from a file */ 
  pixmap = gdk_pixmap_create_from_xpm ( win_main->window, 
                                        &mask, 
                                        &style->bg[GTK_STATE_NORMAL], 
                                        buffer ); 

  pixmapwid = gtk_pixmap_new( pixmap, mask ); 
  gtk_widget_show( pixmapwid ); 
        
  return (pixmapwid);
}

Finally this is my call to the xpm function:
   
 /* --- Create "open" button --- */
 gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
                           "Open Dialog", "Open dialog", "",
                        CreateWidgetFromXpmFile (vbox_main,"./open.xpm"),
                           (GtkSignalFunc) ButtonClicked,
                        NULL);


Any ideas what I'm doing wrong ?

TIA

cheers,
Jim Parker

Attachment: new.xpm
Description: Binary data



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]