2010-03-25 [paul] 3.7.5cvs39
[claws.git] / src / gtk / gtkcmclist.c
index 379c97a3fa595ab071b242fae0754d17f599139d..cc15b0e001c6089767a4c0651670d0499fd14502 100644 (file)
 #include "claws-marshal.h"
 #include "gtkcmclist.h"
 #include <gdk/gdkkeysyms.h>
-
-#if !GTK_CHECK_VERSION(2,10,0)
-#define gdk_atom_intern_static_string(str) gdk_atom_intern(str, FALSE)
-#endif
+#include "utils.h"
+#include "gtkutils.h"
 
 /* length of button_actions array */
 #define MAX_BUTTON 5
@@ -382,11 +380,10 @@ static void get_cell_style   (GtkCMCList      *clist,
                              GtkStyle     **style,
                              GdkGC        **fg_gc,
                              GdkGC        **bg_gc);
-static gint draw_cell_pixmap (GdkWindow     *window,
+static gint draw_cell_pixbuf (GdkWindow     *window,
                              GdkRectangle  *clip_rectangle,
                              GdkGC         *fg_gc,
-                             GdkPixmap     *pixmap,
-                             GdkBitmap     *mask,
+                             GdkPixbuf     *pixbuf,
                              gint           x,
                              gint           y,
                              gint           width,
@@ -424,8 +421,7 @@ static void set_cell_contents      (GtkCMCList      *clist,
                                    GtkCMCellType    type,
                                    const gchar   *text,
                                    guint8         spacing,
-                                   GdkPixmap     *pixmap,
-                                   GdkBitmap     *mask);
+                                   GdkPixbuf     *pixbuf);
 static gint real_insert_row        (GtkCMCList      *clist,
                                    gint           row,
                                    gchar         *text[]);
@@ -1033,7 +1029,7 @@ gtk_cmclist_get_arg (GObject *object,
       g_value_set_boolean(value, TRUE);
       for (i = 0; i < clist->columns; i++)
        if (clist->column[i].button &&
-           !GTK_WIDGET_SENSITIVE (clist->column[i].button))
+           !gtkut_widget_get_sensitive (clist->column[i].button))
          {
            g_value_set_boolean(value, FALSE);
            break;
@@ -1217,9 +1213,9 @@ gtk_cmclist_set_hadjustment (GtkCMCList      *clist,
 {
   GtkAdjustment *old_adjustment;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
   if (adjustment)
-    g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
+    cm_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
   
   if (clist->hadjustment == adjustment)
     return;
@@ -1259,7 +1255,7 @@ gtk_cmclist_set_hadjustment (GtkCMCList      *clist,
 GtkAdjustment *
 gtk_cmclist_get_hadjustment (GtkCMCList *clist)
 {
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
 
   return clist->hadjustment;
 }
@@ -1270,9 +1266,9 @@ gtk_cmclist_set_vadjustment (GtkCMCList      *clist,
 {
   GtkAdjustment *old_adjustment;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
   if (adjustment)
-    g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
+    cm_return_if_fail (GTK_IS_ADJUSTMENT (adjustment));
 
   if (clist->vadjustment == adjustment)
     return;
@@ -1312,7 +1308,7 @@ gtk_cmclist_set_vadjustment (GtkCMCList      *clist,
 GtkAdjustment *
 gtk_cmclist_get_vadjustment (GtkCMCList *clist)
 {
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
 
   return clist->vadjustment;
 }
@@ -1332,11 +1328,11 @@ void
 gtk_cmclist_set_shadow_type (GtkCMCList      *clist,
                           GtkShadowType  type)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   clist->shadow_type = type;
 
-  if (GTK_WIDGET_VISIBLE (clist))
+  if (gtkut_widget_get_visible (GTK_WIDGET(clist)))
     gtk_widget_queue_resize (GTK_WIDGET (clist));
 }
 
@@ -1344,8 +1340,8 @@ void
 gtk_cmclist_set_selection_mode (GtkCMCList         *clist,
                              GtkSelectionMode  mode)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
-  g_return_if_fail (mode != GTK_SELECTION_NONE);
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (mode != GTK_SELECTION_NONE);
 
   if (mode == clist->selection_mode)
     return;
@@ -1378,7 +1374,7 @@ gtk_cmclist_set_selection_mode (GtkCMCList         *clist,
 void
 gtk_cmclist_freeze (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   clist->freeze_count++;
 }
@@ -1386,7 +1382,7 @@ gtk_cmclist_freeze (GtkCMCList *clist)
 void
 gtk_cmclist_thaw (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist->freeze_count)
     {
@@ -1417,7 +1413,7 @@ gtk_cmclist_thaw (GtkCMCList *clist)
 void
 gtk_cmclist_column_titles_show (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (!GTK_CMCLIST_SHOW_TITLES(clist))
     {
@@ -1431,7 +1427,7 @@ gtk_cmclist_column_titles_show (GtkCMCList *clist)
 void 
 gtk_cmclist_column_titles_hide (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (GTK_CMCLIST_SHOW_TITLES(clist))
     {
@@ -1446,7 +1442,7 @@ void
 gtk_cmclist_column_title_active (GtkCMCList *clist,
                               gint      column)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1459,7 +1455,7 @@ gtk_cmclist_column_title_active (GtkCMCList *clist,
                    0, 0, 0, column_title_passive_func, 0);
 
   GTK_WIDGET_SET_FLAGS (clist->column[column].button, GTK_CAN_FOCUS);
-  if (GTK_WIDGET_VISIBLE (clist))
+  if (gtkut_widget_get_visible (GTK_WIDGET(clist)))
     gtk_widget_queue_draw (clist->column[column].button);
 }
 
@@ -1469,7 +1465,7 @@ gtk_cmclist_column_title_passive (GtkCMCList *clist,
 {
   GtkButton *button;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1481,15 +1477,21 @@ gtk_cmclist_column_title_passive (GtkCMCList *clist,
   clist->column[column].button_passive = TRUE;
 
   if (button->button_down)
-    gtk_button_released (button);
+       g_signal_connect(G_OBJECT (clist->column[column].button),
+                        "button-release-event",
+                        G_CALLBACK(column_title_passive_func),
+                        NULL);
   if (button->in_button)
-    gtk_button_leave (button);
+       g_signal_connect(G_OBJECT (clist->column[column].button),
+                        "leave-notify-event",
+                        G_CALLBACK(column_title_passive_func),
+                        NULL);
 
   g_signal_connect (G_OBJECT (clist->column[column].button), "event",
                      G_CALLBACK(column_title_passive_func), NULL);
 
   GTK_WIDGET_UNSET_FLAGS (clist->column[column].button, GTK_CAN_FOCUS);
-  if (GTK_WIDGET_VISIBLE (clist))
+  if (gtkut_widget_get_visible (GTK_WIDGET(clist)))
     gtk_widget_queue_draw (clist->column[column].button);
 }
 
@@ -1498,7 +1500,7 @@ gtk_cmclist_column_titles_active (GtkCMCList *clist)
 {
   gint i;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   for (i = 0; i < clist->columns; i++)
     gtk_cmclist_column_title_active (clist, i);
@@ -1509,7 +1511,7 @@ gtk_cmclist_column_titles_passive (GtkCMCList *clist)
 {
   gint i;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   for (i = 0; i < clist->columns; i++)
     gtk_cmclist_column_title_passive (clist, i);
@@ -1525,7 +1527,7 @@ gtk_cmclist_set_column_title (GtkCMCList    *clist,
   GtkWidget *alignment = NULL;
   GtkWidget *label;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1575,7 +1577,7 @@ gtk_cmclist_set_column_title (GtkCMCList    *clist,
 
   /* if this button didn't previously exist, then the
    * column button positions have to be re-computed */
-  if (GTK_WIDGET_VISIBLE (clist) && new_button)
+  if (gtkut_widget_get_visible (GTK_WIDGET(clist)) && new_button)
     size_allocate_title_buttons (clist);
 }
 
@@ -1583,7 +1585,7 @@ gchar *
 gtk_cmclist_get_column_title (GtkCMCList *clist,
                            gint      column)
 {
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
 
   if (column < 0 || column >= clist->columns)
     return NULL;
@@ -1599,7 +1601,7 @@ gtk_cmclist_set_column_widget (GtkCMCList  *clist,
   gint new_button = 0;
   GtkWidget *old_widget;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1629,7 +1631,7 @@ gtk_cmclist_set_column_widget (GtkCMCList  *clist,
 
   /* if this button didn't previously exist, then the
    * column button positions have to be re-computed */
-  if (GTK_WIDGET_VISIBLE (clist) && new_button)
+  if (gtkut_widget_get_visible (GTK_WIDGET(clist)) && new_button)
     size_allocate_title_buttons (clist);
 }
 
@@ -1637,7 +1639,7 @@ GtkWidget *
 gtk_cmclist_get_column_widget (GtkCMCList *clist,
                             gint      column)
 {
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
 
   if (column < 0 || column >= clist->columns)
     return NULL;
@@ -1655,7 +1657,7 @@ gtk_cmclist_set_column_justification (GtkCMCList         *clist,
 {
   GtkWidget *alignment;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1700,7 +1702,7 @@ gtk_cmclist_set_column_visibility (GtkCMCList *clist,
                                 gint      column,
                                 gboolean  visible)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1739,7 +1741,7 @@ gtk_cmclist_set_column_resizeable (GtkCMCList *clist,
                                 gint      column,
                                 gboolean  resizeable)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1750,7 +1752,7 @@ gtk_cmclist_set_column_resizeable (GtkCMCList *clist,
   if (resizeable)
     clist->column[column].auto_resize = FALSE;
 
-  if (GTK_WIDGET_VISIBLE (clist))
+  if (gtkut_widget_get_visible (GTK_WIDGET(clist)))
     size_allocate_title_buttons (clist);
 }
 
@@ -1759,7 +1761,7 @@ gtk_cmclist_set_column_auto_resize (GtkCMCList *clist,
                                  gint      column,
                                  gboolean  auto_resize)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1779,7 +1781,7 @@ gtk_cmclist_set_column_auto_resize (GtkCMCList *clist,
        }
     }
 
-  if (GTK_WIDGET_VISIBLE (clist))
+  if (gtkut_widget_get_visible (GTK_WIDGET(clist)))
     size_allocate_title_buttons (clist);
 }
 
@@ -1789,7 +1791,7 @@ gtk_cmclist_columns_autosize (GtkCMCList *clist)
   gint i;
   gint width;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
 
   gtk_cmclist_freeze (clist);
   width = 0;
@@ -1813,7 +1815,7 @@ gtk_cmclist_optimal_column_width (GtkCMCList *clist,
   GList *list;
   gint width;
 
-  g_return_val_if_fail (GTK_CMCLIST (clist), 0);
+  cm_return_val_if_fail (GTK_CMCLIST (clist), 0);
 
   if (column < 0 || column >= clist->columns)
     return 0;
@@ -1842,7 +1844,7 @@ gtk_cmclist_set_column_width (GtkCMCList *clist,
                            gint      column,
                            gint      width)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1856,7 +1858,7 @@ gtk_cmclist_set_column_min_width (GtkCMCList *clist,
                                gint      column,
                                gint      min_width)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1878,7 +1880,7 @@ gtk_cmclist_set_column_max_width (GtkCMCList *clist,
                                gint      column,
                                gint      max_width)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1961,7 +1963,7 @@ real_resize_column (GtkCMCList *clist,
                    gint      column,
                    gint      width)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -1988,7 +1990,7 @@ real_resize_column (GtkCMCList *clist,
 static void
 abort_column_resize (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (!GTK_CMCLIST_IN_DRAG(clist))
     return;
@@ -2017,7 +2019,7 @@ size_allocate_title_buttons (GtkCMCList *clist)
   gint last_button = 0;
   gint i;
 
-  if (!GTK_WIDGET_REALIZED (clist))
+  if (!gtkut_widget_get_realized (GTK_WIDGET(clist)))
     return;
 
   button_allocation.x = clist->hoffset;
@@ -2210,10 +2212,14 @@ column_button_create (GtkCMCList *clist,
 
   gtk_widget_push_composite_child ();
   button = clist->column[column].button = gtk_button_new ();
+  GtkRcStyle *style = gtk_rc_style_new();
+  style->ythickness = 0;
+  gtk_widget_modify_style(clist->column[column].button, style);
+  g_object_unref(style);
   gtk_container_set_border_width(GTK_CONTAINER(button), 0);
   gtk_widget_pop_composite_child ();
 
-  if (GTK_WIDGET_REALIZED (clist) && clist->title_window)
+  if (gtkut_widget_get_realized (GTK_WIDGET(clist)) && clist->title_window)
     gtk_widget_set_parent_window (clist->column[column].button,
                                  clist->title_window);
   gtk_widget_set_parent (button, GTK_WIDGET (clist));
@@ -2231,8 +2237,8 @@ column_button_clicked (GtkWidget *widget,
   gint i;
   GtkCMCList *clist;
 
-  g_return_if_fail (widget != NULL);
-  g_return_if_fail (GTK_IS_CMCLIST (data));
+  cm_return_if_fail (widget != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (data));
 
   clist = GTK_CMCLIST (data);
 
@@ -2249,7 +2255,7 @@ column_title_passive_func (GtkWidget *widget,
                           GdkEvent  *event,
                           gpointer   data)
 {
-  g_return_val_if_fail (event != NULL, FALSE);
+  cm_return_val_if_fail (event != NULL, FALSE);
   
   switch (event->type)
     {
@@ -2272,8 +2278,8 @@ column_title_passive_func (GtkWidget *widget,
  *   gtk_cmclist_get_cell_type
  *   gtk_cmclist_set_text
  *   gtk_cmclist_get_text
- *   gtk_cmclist_set_pixmap
- *   gtk_cmclist_get_pixmap
+ *   gtk_cmclist_set_pixbuf
+ *   gtk_cmclist_get_pixbuf
  *   gtk_cmclist_set_pixtext
  *   gtk_cmclist_get_pixtext
  *   gtk_cmclist_set_shift
@@ -2285,7 +2291,7 @@ gtk_cmclist_get_cell_type (GtkCMCList *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
 
   if (row < 0 || row >= clist->rows)
     return -1;
@@ -2305,7 +2311,7 @@ gtk_cmclist_set_text (GtkCMCList    *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -2316,7 +2322,7 @@ gtk_cmclist_set_text (GtkCMCList    *clist,
 
   /* if text is null, then the cell is empty */
   GTK_CMCLIST_GET_CLASS (clist)->set_cell_contents
-    (clist, clist_row, column, GTK_CMCELL_TEXT, text, 0, NULL, NULL);
+    (clist, clist_row, column, GTK_CMCELL_TEXT, text, 0, NULL);
 
   /* redraw the list if it's not frozen */
   if (CLIST_UNFROZEN (clist))
@@ -2334,7 +2340,7 @@ gtk_cmclist_get_text (GtkCMCList  *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
 
   if (row < 0 || row >= clist->rows)
     return 0;
@@ -2353,15 +2359,14 @@ gtk_cmclist_get_text (GtkCMCList  *clist,
 }
 
 void
-gtk_cmclist_set_pixmap (GtkCMCList  *clist,
+gtk_cmclist_set_pixbuf (GtkCMCList  *clist,
                      gint       row,
                      gint       column,
-                     GdkPixmap *pixmap,
-                     GdkBitmap *mask)
+                     GdkPixbuf *pixbuf)
 {
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -2370,12 +2375,10 @@ gtk_cmclist_set_pixmap (GtkCMCList  *clist,
 
   clist_row = ROW_ELEMENT (clist, row)->data;
   
-  g_object_ref (pixmap);
-  
-  if (mask) g_object_ref (mask);
+  g_object_ref (pixbuf);
   
   GTK_CMCLIST_GET_CLASS (clist)->set_cell_contents
-    (clist, clist_row, column, GTK_CMCELL_PIXMAP, NULL, 0, pixmap, mask);
+    (clist, clist_row, column, GTK_CMCELL_PIXBUF, NULL, 0, pixbuf);
 
   /* redraw the list if it's not frozen */
   if (CLIST_UNFROZEN (clist))
@@ -2386,15 +2389,14 @@ gtk_cmclist_set_pixmap (GtkCMCList  *clist,
 }
 
 gint
-gtk_cmclist_get_pixmap (GtkCMCList   *clist,
+gtk_cmclist_get_pixbuf (GtkCMCList   *clist,
                      gint        row,
                      gint        column,
-                     GdkPixmap **pixmap,
-                     GdkBitmap **mask)
+                     GdkPixbuf **pixbuf)
 {
   GtkCMCListRow *clist_row;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
 
   if (row < 0 || row >= clist->rows)
     return 0;
@@ -2403,14 +2405,12 @@ gtk_cmclist_get_pixmap (GtkCMCList   *clist,
 
   clist_row = ROW_ELEMENT (clist, row)->data;
 
-  if (clist_row->cell[column].type != GTK_CMCELL_PIXMAP)
+  if (clist_row->cell[column].type != GTK_CMCELL_PIXBUF)
     return 0;
 
-  if (pixmap)
+  if (pixbuf)
   {
-    *pixmap = GTK_CMCELL_PIXMAP (clist_row->cell[column])->pixmap;
-    /* mask can be NULL */
-    *mask = GTK_CMCELL_PIXMAP (clist_row->cell[column])->mask;
+    *pixbuf = GTK_CMCELL_PIXBUF (clist_row->cell[column])->pixbuf;
   }
 
   return 1;
@@ -2422,12 +2422,11 @@ gtk_cmclist_set_pixtext (GtkCMCList    *clist,
                       gint         column,
                       const gchar *text,
                       guint8       spacing,
-                      GdkPixmap   *pixmap,
-                      GdkBitmap   *mask)
+                      GdkPixbuf   *pixbuf)
 {
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -2436,10 +2435,9 @@ gtk_cmclist_set_pixtext (GtkCMCList    *clist,
 
   clist_row = ROW_ELEMENT (clist, row)->data;
   
-  g_object_ref (pixmap);
-  if (mask) g_object_ref (mask);
+  g_object_ref (pixbuf);
   GTK_CMCLIST_GET_CLASS (clist)->set_cell_contents
-    (clist, clist_row, column, GTK_CMCELL_PIXTEXT, text, spacing, pixmap, mask);
+    (clist, clist_row, column, GTK_CMCELL_PIXTEXT, text, spacing, pixbuf);
 
   /* redraw the list if it's not frozen */
   if (CLIST_UNFROZEN (clist))
@@ -2455,12 +2453,11 @@ gtk_cmclist_get_pixtext (GtkCMCList   *clist,
                       gint        column,
                       gchar     **text,
                       guint8     *spacing,
-                      GdkPixmap **pixmap,
-                      GdkBitmap **mask)
+                      GdkPixbuf **pixbuf)
 {
   GtkCMCListRow *clist_row;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
 
   if (row < 0 || row >= clist->rows)
     return 0;
@@ -2476,12 +2473,8 @@ gtk_cmclist_get_pixtext (GtkCMCList   *clist,
     *text = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->text;
   if (spacing)
     *spacing = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->spacing;
-  if (pixmap)
-    *pixmap = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixmap;
-
-  /* mask can be NULL */
-  if (mask)
-    *mask = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->mask;
+  if (pixbuf)
+    *pixbuf = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixbuf;
 
   return 1;
 }
@@ -2496,7 +2489,7 @@ gtk_cmclist_set_shift (GtkCMCList *clist,
   GtkRequisition requisition = { 0 };
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -2530,16 +2523,14 @@ set_cell_contents (GtkCMCList    *clist,
                   GtkCMCellType  type,
                   const gchar *text,
                   guint8       spacing,
-                  GdkPixmap   *pixmap,
-                  GdkBitmap   *mask)
+                  GdkPixbuf   *pixbuf)
 {
   GtkRequisition requisition;
   gchar *old_text = NULL;
-  GdkPixmap *old_pixmap = NULL;
-  GdkBitmap *old_mask = NULL;
+  GdkPixbuf *old_pixbuf = NULL;
   
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
-  g_return_if_fail (clist_row != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (clist_row != NULL);
 
   if (clist->column[column].auto_resize &&
       !GTK_CMCLIST_AUTO_RESIZE_BLOCKED (clist))
@@ -2553,14 +2544,12 @@ set_cell_contents (GtkCMCList    *clist,
     case GTK_CMCELL_TEXT:
       old_text = GTK_CMCELL_TEXT (clist_row->cell[column])->text;
       break;
-    case GTK_CMCELL_PIXMAP:
-      old_pixmap = GTK_CMCELL_PIXMAP (clist_row->cell[column])->pixmap;
-      old_mask = GTK_CMCELL_PIXMAP (clist_row->cell[column])->mask;
+    case GTK_CMCELL_PIXBUF:
+      old_pixbuf = GTK_CMCELL_PIXBUF (clist_row->cell[column])->pixbuf;
       break;
     case GTK_CMCELL_PIXTEXT:
       old_text = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->text;
-      old_pixmap = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixmap;
-      old_mask = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->mask;
+      old_pixbuf = GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixbuf;
       break;
     case GTK_CMCELL_WIDGET:
       /* unimplemented */
@@ -2571,7 +2560,7 @@ set_cell_contents (GtkCMCList    *clist,
 
   clist_row->cell[column].type = GTK_CMCELL_EMPTY;
 
-  /* Note that pixmap and mask were already ref'ed by the caller
+  /* Note that pixbuf and mask were already ref'ed by the caller
    */
   switch (type)
     {
@@ -2582,23 +2571,20 @@ set_cell_contents (GtkCMCList    *clist,
          GTK_CMCELL_TEXT (clist_row->cell[column])->text = g_strdup (text);
        }
       break;
-    case GTK_CMCELL_PIXMAP:
-      if (pixmap)
+    case GTK_CMCELL_PIXBUF:
+      if (pixbuf)
        {
-         clist_row->cell[column].type = GTK_CMCELL_PIXMAP;
-         GTK_CMCELL_PIXMAP (clist_row->cell[column])->pixmap = pixmap;
-         /* We set the mask even if it is NULL */
-         GTK_CMCELL_PIXMAP (clist_row->cell[column])->mask = mask;
+         clist_row->cell[column].type = GTK_CMCELL_PIXBUF;
+         GTK_CMCELL_PIXBUF (clist_row->cell[column])->pixbuf = pixbuf;
        }
       break;
     case GTK_CMCELL_PIXTEXT:
-      if (text && pixmap)
+      if (text && pixbuf)
        {
          clist_row->cell[column].type = GTK_CMCELL_PIXTEXT;
          GTK_CMCELL_PIXTEXT (clist_row->cell[column])->text = g_strdup (text);
          GTK_CMCELL_PIXTEXT (clist_row->cell[column])->spacing = spacing;
-         GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixmap = pixmap;
-         GTK_CMCELL_PIXTEXT (clist_row->cell[column])->mask = mask;
+         GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixbuf = pixbuf;
        }
       break;
     default:
@@ -2610,10 +2596,8 @@ set_cell_contents (GtkCMCList    *clist,
     column_auto_resize (clist, clist_row, column, requisition.width);
 
   g_free (old_text);
-  if (old_pixmap)
-    g_object_unref (old_pixmap);
-  if (old_mask)
-    g_object_unref (old_mask);
+  if (old_pixbuf)
+    g_object_unref (old_pixbuf);
 }
 
 PangoLayout *
@@ -2666,8 +2650,8 @@ cell_size_request (GtkCMCList       *clist,
   PangoLayout *layout;
   PangoRectangle logical_rect;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
-  g_return_if_fail (requisition != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (requisition != NULL);
 
   layout = _gtk_cmclist_create_cell_layout (clist, clist_row, column);
   if (layout)
@@ -2691,14 +2675,14 @@ cell_size_request (GtkCMCList       *clist,
   switch (clist_row->cell[column].type)
     {
     case GTK_CMCELL_PIXTEXT:
-      gdk_drawable_get_size (GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixmap,
-                          &width, &height);
+      width = gdk_pixbuf_get_width(GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixbuf);
+      height = gdk_pixbuf_get_height(GTK_CMCELL_PIXTEXT (clist_row->cell[column])->pixbuf);
       requisition->width += width;
       requisition->height = MAX (requisition->height, height);      
       break;
-    case GTK_CMCELL_PIXMAP:
-      gdk_drawable_get_size (GTK_CMCELL_PIXMAP (clist_row->cell[column])->pixmap,
-                          &width, &height);
+    case GTK_CMCELL_PIXBUF:
+      width = gdk_pixbuf_get_width(GTK_CMCELL_PIXBUF (clist_row->cell[column])->pixbuf);
+      height = gdk_pixbuf_get_height(GTK_CMCELL_PIXBUF (clist_row->cell[column])->pixbuf);
       requisition->width += width;
       requisition->height = MAX (requisition->height, height);
       break;
@@ -2722,8 +2706,8 @@ gint
 gtk_cmclist_prepend (GtkCMCList    *clist,
                   gchar       *text[])
 {
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
-  g_return_val_if_fail (text != NULL, -1);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+  cm_return_val_if_fail (text != NULL, -1);
 
   return GTK_CMCLIST_GET_CLASS (clist)->insert_row (clist, 0, text);
 }
@@ -2732,8 +2716,8 @@ gint
 gtk_cmclist_append (GtkCMCList    *clist,
                  gchar       *text[])
 {
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
-  g_return_val_if_fail (text != NULL, -1);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+  cm_return_val_if_fail (text != NULL, -1);
 
   return GTK_CMCLIST_GET_CLASS (clist)->insert_row (clist, clist->rows, text);
 }
@@ -2743,8 +2727,8 @@ gtk_cmclist_insert (GtkCMCList    *clist,
                  gint         row,
                  gchar       *text[])
 {
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
-  g_return_val_if_fail (text != NULL, -1);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+  cm_return_val_if_fail (text != NULL, -1);
 
   if (row < 0 || row > clist->rows)
     row = clist->rows;
@@ -2762,7 +2746,7 @@ gtk_cmclist_remove (GtkCMCList *clist,
 void
 gtk_cmclist_clear (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
   
   GTK_CMCLIST_GET_CLASS (clist)->clear (clist);
 }
@@ -2781,8 +2765,8 @@ real_insert_row (GtkCMCList *clist,
   gint i;
   GtkCMCListRow *clist_row;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
-  g_return_val_if_fail (text != NULL, -1);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+  cm_return_val_if_fail (text != NULL, -1);
 
   /* return if out of bounds */
   if (row < 0 || row > clist->rows)
@@ -2795,7 +2779,7 @@ real_insert_row (GtkCMCList *clist,
   for (i = 0; i < clist->columns; i++)
     if (text[i])
       GTK_CMCLIST_GET_CLASS (clist)->set_cell_contents
-       (clist, clist_row, i, GTK_CMCELL_TEXT, text[i], 0, NULL ,NULL);
+       (clist, clist_row, i, GTK_CMCELL_TEXT, text[i], 0, NULL);
 
   if (!clist->rows)
     {
@@ -2876,7 +2860,7 @@ real_remove_row (GtkCMCList *clist,
   GList *list;
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   /* return if out of bounds */
   if (row < 0 || row > (clist->rows - 1))
@@ -2935,7 +2919,7 @@ real_clear (GtkCMCList *clist)
   GList *free_list;
   gint i;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   /* free up the selection list */
   g_list_free (clist->selection);
@@ -2993,7 +2977,7 @@ real_row_move (GtkCMCList *clist,
   gint first, last;
   gint d;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (GTK_CMCLIST_AUTO_SORT(clist))
     return;
@@ -3069,7 +3053,7 @@ gtk_cmclist_moveto (GtkCMCList *clist,
                  gfloat    row_align,
                  gfloat    col_align)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < -1 || row >= clist->rows)
     return;
@@ -3107,7 +3091,7 @@ gtk_cmclist_set_row_height (GtkCMCList *clist,
 {
   GtkWidget *widget;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   widget = GTK_WIDGET (clist);
 
@@ -3160,7 +3144,7 @@ gtk_cmclist_set_row_data_full (GtkCMCList         *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row > (clist->rows - 1))
     return;
@@ -3180,7 +3164,7 @@ gtk_cmclist_get_row_data (GtkCMCList *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
 
   if (row < 0 || row > (clist->rows - 1))
     return NULL;
@@ -3196,7 +3180,7 @@ gtk_cmclist_find_row_from_data (GtkCMCList *clist,
   GList *list;
   gint n;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), -1);
 
   for (n = 0, list = clist->row_list; list; n++, list = list->next)
     if (GTK_CMCLIST_ROW (list)->data == data)
@@ -3212,8 +3196,8 @@ gtk_cmclist_swap_rows (GtkCMCList *clist,
 {
   gint first, last;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
-  g_return_if_fail (row1 != row2);
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (row1 != row2);
 
   if (GTK_CMCLIST_AUTO_SORT(clist))
     return;
@@ -3234,7 +3218,7 @@ gtk_cmclist_row_move (GtkCMCList *clist,
                    gint      source_row,
                    gint      dest_row)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (GTK_CMCLIST_AUTO_SORT(clist))
     return;
@@ -3254,7 +3238,7 @@ gtk_cmclist_row_is_visible (GtkCMCList *clist,
 {
   gint top;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
 
   if (row < 0 || row >= clist->rows)
     return GTK_VISIBILITY_NONE;
@@ -3284,7 +3268,7 @@ gtk_cmclist_set_foreground (GtkCMCList       *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -3295,7 +3279,7 @@ gtk_cmclist_set_foreground (GtkCMCList       *clist,
     {
       clist_row->foreground = *color;
       clist_row->fg_set = TRUE;
-      if (GTK_WIDGET_REALIZED (clist))
+      if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
        gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (clist)),
                         &clist_row->foreground, TRUE, TRUE);
     }
@@ -3313,7 +3297,7 @@ gtk_cmclist_set_background (GtkCMCList       *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -3324,7 +3308,7 @@ gtk_cmclist_set_background (GtkCMCList       *clist,
     {
       clist_row->background = *color;
       clist_row->bg_set = TRUE;
-      if (GTK_WIDGET_REALIZED (clist))
+      if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
        gdk_colormap_alloc_color (gtk_widget_get_colormap (GTK_WIDGET (clist)),
                         &clist_row->background, TRUE, TRUE);
     }
@@ -3351,7 +3335,7 @@ gtk_cmclist_set_cell_style (GtkCMCList *clist,
   GtkRequisition requisition = { 0 };
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -3370,7 +3354,7 @@ gtk_cmclist_set_cell_style (GtkCMCList *clist,
 
   if (clist_row->cell[column].style)
     {
-      if (GTK_WIDGET_REALIZED (clist))
+      if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
         gtk_style_detach (clist_row->cell[column].style);
       g_object_unref (clist_row->cell[column].style);
     }
@@ -3381,7 +3365,7 @@ gtk_cmclist_set_cell_style (GtkCMCList *clist,
     {
       g_object_ref (clist_row->cell[column].style);
       
-      if (GTK_WIDGET_REALIZED (clist))
+      if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
         clist_row->cell[column].style =
          gtk_style_attach (clist_row->cell[column].style,
                            clist->clist_window);
@@ -3404,7 +3388,7 @@ gtk_cmclist_get_cell_style (GtkCMCList *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
 
   if (row < 0 || row >= clist->rows || column < 0 || column >= clist->columns)
     return NULL;
@@ -3424,7 +3408,7 @@ gtk_cmclist_set_row_style (GtkCMCList *clist,
   gint *old_width;
   gint i;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -3449,7 +3433,7 @@ gtk_cmclist_set_row_style (GtkCMCList *clist,
 
   if (clist_row->style)
     {
-      if (GTK_WIDGET_REALIZED (clist))
+      if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
         gtk_style_detach (clist_row->style);
       g_object_unref (clist_row->style);
     }
@@ -3460,7 +3444,7 @@ gtk_cmclist_set_row_style (GtkCMCList *clist,
     {
       g_object_ref (clist_row->style);
       
-      if (GTK_WIDGET_REALIZED (clist))
+      if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
         clist_row->style = gtk_style_attach (clist_row->style,
                                             clist->clist_window);
     }
@@ -3485,7 +3469,7 @@ gtk_cmclist_get_row_style (GtkCMCList *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), NULL);
 
   if (row < 0 || row >= clist->rows)
     return NULL;
@@ -3511,7 +3495,7 @@ gtk_cmclist_set_selectable (GtkCMCList *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -3541,7 +3525,7 @@ gboolean
 gtk_cmclist_get_selectable (GtkCMCList *clist,
                          gint      row)
 {
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), FALSE);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), FALSE);
 
   if (row < 0 || row >= clist->rows)
     return FALSE;
@@ -3554,7 +3538,7 @@ gtk_cmclist_select_row (GtkCMCList *clist,
                      gint      row,
                      gint      column)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -3570,7 +3554,7 @@ gtk_cmclist_unselect_row (GtkCMCList *clist,
                        gint      row,
                        gint      column)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row >= clist->rows)
     return;
@@ -3584,7 +3568,7 @@ gtk_cmclist_unselect_row (GtkCMCList *clist,
 void
 gtk_cmclist_select_all (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   GTK_CMCLIST_GET_CLASS (clist)->select_all (clist);
 }
@@ -3592,7 +3576,7 @@ gtk_cmclist_select_all (GtkCMCList *clist)
 void
 gtk_cmclist_unselect_all (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   GTK_CMCLIST_GET_CLASS (clist)->unselect_all (clist);
 }
@@ -3600,7 +3584,7 @@ gtk_cmclist_unselect_all (GtkCMCList *clist)
 void
 gtk_cmclist_undo_selection (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist->selection_mode == GTK_SELECTION_MULTIPLE &&
       (clist->undo_selection || clist->undo_unselection))
@@ -3692,15 +3676,15 @@ fake_toggle_row (GtkCMCList *clist,
 static gboolean
 clist_has_grab (GtkCMCList *clist)
 {
-  return (GTK_WIDGET_HAS_GRAB (clist) &&
+  return (gtkut_widget_has_grab (GTK_WIDGET(clist)) &&
          gdk_display_pointer_is_grabbed (gtk_widget_get_display (GTK_WIDGET (clist))));
 }
 
 static void
 toggle_focus_row (GtkCMCList *clist)
 {
-  g_return_if_fail (clist != 0);
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (clist != 0);
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist_has_grab (clist) ||
       clist->focus_row < 0 || clist->focus_row >= clist->rows)
@@ -3736,8 +3720,8 @@ toggle_focus_row (GtkCMCList *clist)
 static void
 toggle_add_mode (GtkCMCList *clist)
 {
-  g_return_if_fail (clist != 0);
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (clist != 0);
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
   
   if (clist_has_grab (clist) ||
       clist->selection_mode != GTK_SELECTION_MULTIPLE)
@@ -3771,7 +3755,7 @@ real_select_row (GtkCMCList *clist,
   gint sel_row;
   gboolean row_selected;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row > (clist->rows - 1))
     return;
@@ -3832,7 +3816,7 @@ real_unselect_row (GtkCMCList *clist,
 {
   GtkCMCListRow *clist_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (row < 0 || row > (clist->rows - 1))
     return;
@@ -3859,7 +3843,7 @@ real_unselect_row (GtkCMCList *clist,
 static void
 real_select_all (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist_has_grab (clist))
     return;
@@ -3899,7 +3883,7 @@ real_unselect_all (GtkCMCList *clist)
   GList *list;
   gint i;
  
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist_has_grab (clist))
     return;
@@ -3984,7 +3968,7 @@ real_undo_selection (GtkCMCList *clist)
 {
   GList *work;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist_has_grab (clist) ||
       clist->selection_mode != GTK_SELECTION_MULTIPLE)
@@ -4009,7 +3993,7 @@ real_undo_selection (GtkCMCList *clist)
                       GPOINTER_TO_INT (work->data), -1, NULL);
     }
 
-  if (GTK_WIDGET_HAS_FOCUS(clist) && clist->focus_row != clist->undo_anchor)
+  if (gtkut_widget_has_focus(GTK_WIDGET(clist)) && clist->focus_row != clist->undo_anchor)
     {
       gtk_cmclist_draw_focus (GTK_WIDGET (clist));
       clist->focus_row = clist->undo_anchor;
@@ -4038,7 +4022,7 @@ set_anchor (GtkCMCList *clist,
            gint      anchor,
            gint      undo_anchor)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
   
   if (clist->selection_mode != GTK_SELECTION_MULTIPLE || clist->anchor >= 0)
     return;
@@ -4336,7 +4320,7 @@ update_extended_selection (GtkCMCList *clist,
 static void
 start_selection (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist_has_grab (clist))
     return;
@@ -4348,10 +4332,10 @@ start_selection (GtkCMCList *clist)
 static void
 end_selection (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (gdk_display_pointer_is_grabbed (gtk_widget_get_display (GTK_WIDGET (clist))) &&
-      GTK_WIDGET_HAS_FOCUS (clist))
+      gtkut_widget_has_focus (GTK_WIDGET(clist)))
     return;
 
   GTK_CMCLIST_GET_CLASS (clist)->resync_selection (clist, NULL);
@@ -4363,7 +4347,7 @@ extend_selection (GtkCMCList      *clist,
                  gfloat         position,
                  gboolean       auto_start_selection)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist_has_grab (clist) ||
       clist->selection_mode != GTK_SELECTION_MULTIPLE)
@@ -4442,7 +4426,7 @@ gtk_cmclist_destroy (GtkObject *object)
   gint i;
   GtkCMCList *clist;
 
-  g_return_if_fail (GTK_IS_CMCLIST (object));
+  cm_return_if_fail (GTK_IS_CMCLIST (object));
 
   clist = GTK_CMCLIST (object);
 
@@ -4494,7 +4478,7 @@ gtk_cmclist_finalize (GObject *object)
 {
   GtkCMCList *clist;
 
-  g_return_if_fail (GTK_IS_CMCLIST (object));
+  cm_return_if_fail (GTK_IS_CMCLIST (object));
 
   clist = GTK_CMCLIST (object);
 
@@ -4533,7 +4517,7 @@ gtk_cmclist_realize (GtkWidget *widget)
   gint i;
   gint j;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
 
   clist = GTK_CMCLIST (widget);
 
@@ -4685,20 +4669,20 @@ gtk_cmclist_unrealize (GtkWidget *widget)
   gint i;
   GtkCMCList *clist;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
 
   clist = GTK_CMCLIST (widget);
 
   /* freeze the list */
   clist->freeze_count++;
 
-  if (GTK_WIDGET_MAPPED (widget))
+  if (gtkut_widget_get_mapped (widget))
     gtk_cmclist_unmap (widget);
 
   GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED);
 
   /* detach optional row/cell styles */
-  if (GTK_WIDGET_REALIZED (widget))
+  if (gtkut_widget_get_realized (widget))
     {
       GtkCMCListRow *clist_row;
       GList *list;
@@ -4758,11 +4742,11 @@ gtk_cmclist_map (GtkWidget *widget)
   gint i;
   GtkCMCList *clist;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
 
   clist = GTK_CMCLIST (widget);
 
-  if (!GTK_WIDGET_MAPPED (widget))
+  if (!gtkut_widget_get_mapped (widget))
     {
       GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED);
 
@@ -4770,8 +4754,8 @@ gtk_cmclist_map (GtkWidget *widget)
       for (i = 0; i < clist->columns; i++)
        {
          if (clist->column[i].button &&
-             GTK_WIDGET_VISIBLE (clist->column[i].button) &&
-             !GTK_WIDGET_MAPPED (clist->column[i].button))
+             gtkut_widget_get_visible (clist->column[i].button) &&
+             !gtkut_widget_get_mapped (clist->column[i].button))
            gtk_widget_map (clist->column[i].button);
        }
       
@@ -4797,11 +4781,11 @@ gtk_cmclist_unmap (GtkWidget *widget)
   gint i;
   GtkCMCList *clist;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
 
   clist = GTK_CMCLIST (widget);
 
-  if (GTK_WIDGET_MAPPED (widget))
+  if (gtkut_widget_get_mapped (widget))
     {
       GTK_WIDGET_UNSET_FLAGS (widget, GTK_MAPPED);
 
@@ -4839,7 +4823,7 @@ gtk_cmclist_unmap (GtkWidget *widget)
       /* unmap column buttons */
       for (i = 0; i < clist->columns; i++)
        if (clist->column[i].button &&
-           GTK_WIDGET_MAPPED (clist->column[i].button))
+           gtkut_widget_get_mapped (clist->column[i].button))
          gtk_widget_unmap (clist->column[i].button);
 
       /* freeze the list */
@@ -4853,10 +4837,10 @@ gtk_cmclist_expose (GtkWidget      *widget,
 {
   GtkCMCList *clist;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
-  g_return_val_if_fail (event != NULL, FALSE);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+  cm_return_val_if_fail (event != NULL, FALSE);
 
-  if (GTK_WIDGET_DRAWABLE (widget))
+  if (gtkut_widget_is_drawable (widget))
     {
       clist = GTK_CMCLIST (widget);
 
@@ -4889,10 +4873,11 @@ gtk_cmclist_expose (GtkWidget      *widget,
          
          for (i = 0; i < clist->columns; i++)
            {
-             if (clist->column[i].button)
+             if (clist->column[i].button) {
                gtk_container_propagate_expose (GTK_CONTAINER (clist),
                                                clist->column[i].button,
                                                event);
+             }
            }
        }
     }
@@ -4906,14 +4891,14 @@ gtk_cmclist_style_set (GtkWidget *widget,
 {
   GtkCMCList *clist;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
 
   if (GTK_WIDGET_CLASS (parent_class)->style_set)
     (*GTK_WIDGET_CLASS (parent_class)->style_set) (widget, previous_style);
 
   clist = GTK_CMCLIST (widget);
 
-  if (GTK_WIDGET_REALIZED (widget))
+  if (gtkut_widget_get_realized (widget))
     {
       gtk_style_set_background (widget->style, widget->window, widget->state);
       gtk_style_set_background (widget->style, clist->title_window, GTK_STATE_NORMAL);
@@ -4955,8 +4940,8 @@ gtk_cmclist_button_press (GtkWidget      *widget,
   gint column;
   gint button_actions;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
-  g_return_val_if_fail (event != NULL, FALSE);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+  cm_return_val_if_fail (event != NULL, FALSE);
 
   clist = GTK_CMCLIST (widget);
 
@@ -5007,7 +4992,7 @@ gtk_cmclist_button_press (GtkWidget      *widget,
              if (GTK_CMCLIST_ADD_MODE(clist))
                {
                  GTK_CMCLIST_UNSET_FLAG (clist, CMCLIST_ADD_MODE);
-                 if (GTK_WIDGET_HAS_FOCUS(widget))
+                 if (gtkut_widget_has_focus(widget))
                    {
                      gtk_cmclist_draw_focus (widget);
                      gdk_gc_set_line_attributes (clist->xor_gc, 1,
@@ -5024,7 +5009,7 @@ gtk_cmclist_button_press (GtkWidget      *widget,
                }
              else if (row != clist->focus_row)
                {
-                 if (GTK_WIDGET_HAS_FOCUS(widget))
+                 if (gtkut_widget_has_focus(widget))
                    {
                      gtk_cmclist_draw_focus (widget);
                      clist->focus_row = row;
@@ -5035,7 +5020,7 @@ gtk_cmclist_button_press (GtkWidget      *widget,
                }
            }
 
-         if (!GTK_WIDGET_HAS_FOCUS(widget))
+         if (!gtkut_widget_has_focus(widget))
            gtk_widget_grab_focus (widget);
 
          if (button_actions & GTK_CMBUTTON_SELECTS)
@@ -5143,7 +5128,7 @@ gtk_cmclist_button_press (GtkWidget      *widget,
                g_signal_handlers_block_matched(G_OBJECT(clist), G_SIGNAL_MATCH_DATA,
                                        0, 0, 0, 0, drag_data);
 
-       if (!GTK_WIDGET_HAS_FOCUS(widget))
+       if (!gtkut_widget_has_focus(widget))
          gtk_widget_grab_focus (widget);
 
        clist->drag_pos = i;
@@ -5167,8 +5152,8 @@ gtk_cmclist_button_release (GtkWidget      *widget,
   GtkCMCList *clist;
   gint button_actions;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
-  g_return_val_if_fail (event != NULL, FALSE);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+  cm_return_val_if_fail (event != NULL, FALSE);
 
   clist = GTK_CMCLIST (widget);
 
@@ -5231,7 +5216,7 @@ gtk_cmclist_button_release (GtkWidget      *widget,
            {
            case GTK_SELECTION_MULTIPLE:
              if (!(event->state & GDK_SHIFT_MASK) ||
-                 !GTK_WIDGET_CAN_FOCUS (widget) ||
+                 !gtkut_widget_get_can_focus (widget) ||
                  event->x < 0 || event->x >= clist->clist_window_width ||
                  event->y < 0 || event->y >= clist->clist_window_height)
                GTK_CMCLIST_GET_CLASS (clist)->resync_selection
@@ -5268,7 +5253,7 @@ gtk_cmclist_motion (GtkWidget      *widget,
   gint new_width;
   gint button_actions = 0;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
 
   clist = GTK_CMCLIST (widget);
   if (!clist_has_grab (clist))
@@ -5447,8 +5432,8 @@ gtk_cmclist_size_request (GtkWidget      *widget,
   GtkCMCList *clist;
   gint i;
   gint font_height = 0;
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
-  g_return_if_fail (requisition != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (requisition != NULL);
 
   clist = GTK_CMCLIST (widget);
 
@@ -5468,9 +5453,9 @@ gtk_cmclist_size_request (GtkWidget      *widget,
                                   &child_requisition);
          clist->column_title_area.height =
            MAX (clist->column_title_area.height,
-                child_requisition.height - 2);
+                child_requisition.height);
        }
-    clist->column_title_area.height = font_height;
+    //clist->column_title_area.height = font_height;
   }
   requisition->width += (widget->style->xthickness +
                         GTK_CONTAINER (widget)->border_width) * 2;
@@ -5492,14 +5477,14 @@ gtk_cmclist_size_allocate (GtkWidget     *widget,
   GtkAllocation clist_allocation;
   gint border_width;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
-  g_return_if_fail (allocation != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (allocation != NULL);
 
   clist = GTK_CMCLIST (widget);
   widget->allocation = *allocation;
   border_width = GTK_CONTAINER (widget)->border_width;
 
-  if (GTK_WIDGET_REALIZED (widget))
+  if (gtkut_widget_get_realized (widget))
     {
       gdk_window_move_resize (widget->window,
                              allocation->x + border_width,
@@ -5533,7 +5518,7 @@ gtk_cmclist_size_allocate (GtkWidget     *widget,
   clist->clist_window_width = clist_allocation.width;
   clist->clist_window_height = clist_allocation.height;
   
-  if (GTK_WIDGET_REALIZED (widget))
+  if (gtkut_widget_get_realized (widget))
     {
       gdk_window_move_resize (clist->clist_window,
                              clist_allocation.x,
@@ -5547,7 +5532,7 @@ gtk_cmclist_size_allocate (GtkWidget     *widget,
   clist->column_title_area.y = widget->style->ythickness;
   clist->column_title_area.width = clist_allocation.width;
   
-  if (GTK_WIDGET_REALIZED (widget))
+  if (gtkut_widget_get_realized (widget))
     {
       gdk_window_move_resize (clist->title_window,
                              clist->column_title_area.x,
@@ -5575,8 +5560,8 @@ gtk_cmclist_forall (GtkContainer *container,
   GtkCMCList *clist;
   guint i;
 
-  g_return_if_fail (GTK_IS_CMCLIST (container));
-  g_return_if_fail (callback != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (container));
+  cm_return_if_fail (callback != NULL);
 
   if (!include_internals)
     return;
@@ -5591,7 +5576,7 @@ gtk_cmclist_forall (GtkContainer *container,
 
 /* PRIVATE DRAWING FUNCTIONS
  *   get_cell_style
- *   draw_cell_pixmap
+ *   draw_cell_pixbuf
  *   draw_row
  *   draw_rows
  *   draw_xor_line
@@ -5664,11 +5649,10 @@ get_cell_style (GtkCMCList     *clist,
 }
 
 static gint
-draw_cell_pixmap (GdkWindow    *window,
+draw_cell_pixbuf (GdkWindow    *window,
                  GdkRectangle *clip_rectangle,
                  GdkGC        *fg_gc,
-                 GdkPixmap    *pixmap,
-                 GdkBitmap    *mask,
+                 GdkPixbuf    *pixbuf,
                  gint          x,
                  gint          y,
                  gint          width,
@@ -5677,11 +5661,7 @@ draw_cell_pixmap (GdkWindow    *window,
   gint xsrc = 0;
   gint ysrc = 0;
 
-  if (mask)
-    {
-      gdk_gc_set_clip_mask (fg_gc, mask);
-      gdk_gc_set_clip_origin (fg_gc, x, y);
-    }
+  gdk_gc_set_clip_origin (fg_gc, x, y);
 
   if (x < clip_rectangle->x)
     {
@@ -5701,10 +5681,8 @@ draw_cell_pixmap (GdkWindow    *window,
   if (y + height > clip_rectangle->y + clip_rectangle->height)
     height = clip_rectangle->y + clip_rectangle->height - y;
 
-  gdk_draw_drawable (window, fg_gc, pixmap, xsrc, ysrc, x, y, width, height);
+  gdk_draw_pixbuf (window, fg_gc, pixbuf, xsrc, ysrc, x, y, width, height, GDK_RGB_DITHER_NONE, 0, 0);
   gdk_gc_set_clip_origin (fg_gc, 0, 0);
-  if (mask)
-    gdk_gc_set_clip_mask (fg_gc, NULL);
 
   return x + MAX (width, 0);
 }
@@ -5725,10 +5703,10 @@ draw_row (GtkCMCList     *clist,
   gint state;
   gint i;
 
-  g_return_if_fail (clist != NULL);
+  cm_return_if_fail (clist != NULL);
 
   /* bail now if we arn't drawable yet */
-  if (!GTK_WIDGET_DRAWABLE (clist) || row < 0 || row >= clist->rows)
+  if (!gtkut_widget_is_drawable (GTK_WIDGET(clist)) || row < 0 || row >= clist->rows)
     return;
 
   widget = GTK_WIDGET (clist);
@@ -5842,7 +5820,7 @@ draw_row (GtkCMCList     *clist,
 
       gint width;
       gint height;
-      gint pixmap_width;
+      gint pixbuf_width;
       gint offset = 0;
 
       if (!clist->column[i].visible)
@@ -5881,19 +5859,20 @@ draw_row (GtkCMCList     *clist,
       else
        width = 0;
 
-      pixmap_width = 0;
+      pixbuf_width = 0;
+      height = 0;
       offset = 0;
       switch (clist_row->cell[i].type)
        {
-       case GTK_CMCELL_PIXMAP:
-         gdk_drawable_get_size (GTK_CMCELL_PIXMAP (clist_row->cell[i])->pixmap,
-                              &pixmap_width, &height);
-         width += pixmap_width;
+       case GTK_CMCELL_PIXBUF:
+         pixbuf_width = gdk_pixbuf_get_width(GTK_CMCELL_PIXBUF (clist_row->cell[i])->pixbuf);
+         height = gdk_pixbuf_get_height(GTK_CMCELL_PIXBUF (clist_row->cell[i])->pixbuf);
+         width += pixbuf_width;
          break;
        case GTK_CMCELL_PIXTEXT:
-         gdk_drawable_get_size (GTK_CMCELL_PIXTEXT (clist_row->cell[i])->pixmap,
-                              &pixmap_width, &height);
-         width += pixmap_width + GTK_CMCELL_PIXTEXT (clist_row->cell[i])->spacing;
+         pixbuf_width = gdk_pixbuf_get_width(GTK_CMCELL_PIXTEXT (clist_row->cell[i])->pixbuf);
+         height = gdk_pixbuf_get_height(GTK_CMCELL_PIXTEXT (clist_row->cell[i])->pixbuf);
+         width += pixbuf_width + GTK_CMCELL_PIXTEXT (clist_row->cell[i])->spacing;
          break;
        default:
          break;
@@ -5915,27 +5894,25 @@ draw_row (GtkCMCList     *clist,
          break;
        };
 
-      /* Draw Text and/or Pixmap */
+      /* Draw Text and/or Pixbuf */
       switch (clist_row->cell[i].type)
        {
-       case GTK_CMCELL_PIXMAP:
-         draw_cell_pixmap (clist->clist_window, &clip_rectangle, fg_gc,
-                           GTK_CMCELL_PIXMAP (clist_row->cell[i])->pixmap,
-                           GTK_CMCELL_PIXMAP (clist_row->cell[i])->mask,
+       case GTK_CMCELL_PIXBUF:
+         draw_cell_pixbuf (clist->clist_window, &clip_rectangle, fg_gc,
+                           GTK_CMCELL_PIXBUF (clist_row->cell[i])->pixbuf,
                            offset,
                            clip_rectangle.y + clist_row->cell[i].vertical +
                            (clip_rectangle.height - height) / 2,
-                           pixmap_width, height);
+                           pixbuf_width, height);
          break;
        case GTK_CMCELL_PIXTEXT:
          offset =
-           draw_cell_pixmap (clist->clist_window, &clip_rectangle, fg_gc,
-                             GTK_CMCELL_PIXTEXT (clist_row->cell[i])->pixmap,
-                             GTK_CMCELL_PIXTEXT (clist_row->cell[i])->mask,
+           draw_cell_pixbuf (clist->clist_window, &clip_rectangle, fg_gc,
+                             GTK_CMCELL_PIXTEXT (clist_row->cell[i])->pixbuf,
                              offset,
                              clip_rectangle.y + clist_row->cell[i].vertical+
                              (clip_rectangle.height - height) / 2,
-                             pixmap_width, height);
+                             pixbuf_width, height);
          offset += GTK_CMCELL_PIXTEXT (clist_row->cell[i])->spacing;
 
          /* Fall through */
@@ -5960,7 +5937,7 @@ draw_row (GtkCMCList     *clist,
 
   /* draw focus rectangle */
   if (clist->focus_row == row &&
-      GTK_WIDGET_CAN_FOCUS (widget) && GTK_WIDGET_HAS_FOCUS(widget))
+      gtkut_widget_get_can_focus (widget) && gtkut_widget_has_focus(widget))
     {
       if (!area)
        gdk_draw_rectangle (clist->clist_window, clist->xor_gc, FALSE,
@@ -5989,10 +5966,10 @@ draw_rows (GtkCMCList     *clist,
   gint first_row;
   gint last_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist->row_height == 0 ||
-      !GTK_WIDGET_DRAWABLE (clist))
+      !gtkut_widget_is_drawable (GTK_WIDGET(clist)))
     return;
 
   if (area)
@@ -6027,9 +6004,14 @@ draw_rows (GtkCMCList     *clist,
       i++;
     }
 
-  if (!area)
-    gdk_window_clear_area (clist->clist_window, 0,
-                          ROW_TOP_YPIXEL (clist, i), 0, 0);
+  if (!area) {
+    int w, h, y;
+    gdk_drawable_get_size (GDK_DRAWABLE (clist->clist_window), &w, &h);
+    y = ROW_TOP_YPIXEL (clist, i);
+    gdk_window_clear_area (clist->clist_window,
+                           0, y,
+                           w, h - y);
+  }
 }
 
 static void                          
@@ -6037,7 +6019,7 @@ draw_xor_line (GtkCMCList *clist)
 {
   GtkWidget *widget;
 
-  g_return_if_fail (clist != NULL);
+  cm_return_if_fail (clist != NULL);
 
   widget = GTK_WIDGET (clist);
 
@@ -6052,7 +6034,7 @@ draw_xor_line (GtkCMCList *clist)
 static void
 clist_refresh (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
   
   if (CLIST_UNFROZEN (clist))
     { 
@@ -6074,7 +6056,7 @@ get_selection_info (GtkCMCList *clist,
 {
   gint trow, tcol;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
 
   /* bounds checking, return false if the user clicked 
    * on a blank area */
@@ -6102,7 +6084,7 @@ gtk_cmclist_get_selection_info (GtkCMCList *clist,
                              gint     *row, 
                              gint     *column)
 {
-  g_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (clist), 0);
   return get_selection_info (clist, x, y, row, column);
 }
 
@@ -6182,8 +6164,8 @@ vadjustment_changed (GtkAdjustment *adjustment,
 {
   GtkCMCList *clist;
 
-  g_return_if_fail (adjustment != NULL);
-  g_return_if_fail (data != NULL);
+  cm_return_if_fail (adjustment != NULL);
+  cm_return_if_fail (data != NULL);
 
   clist = GTK_CMCLIST (data);
 }
@@ -6194,8 +6176,8 @@ hadjustment_changed (GtkAdjustment *adjustment,
 {
   GtkCMCList *clist;
 
-  g_return_if_fail (adjustment != NULL);
-  g_return_if_fail (data != NULL);
+  cm_return_if_fail (adjustment != NULL);
+  cm_return_if_fail (data != NULL);
 
   clist = GTK_CMCLIST (data);
 }
@@ -6207,8 +6189,8 @@ vadjustment_value_changed (GtkAdjustment *adjustment,
   GtkCMCList *clist;
   gint dy, value;
 
-  g_return_if_fail (adjustment != NULL);
-  g_return_if_fail (GTK_IS_CMCLIST (data));
+  cm_return_if_fail (adjustment != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (data));
 
   clist = GTK_CMCLIST (data);
 
@@ -6219,7 +6201,7 @@ vadjustment_value_changed (GtkAdjustment *adjustment,
   dy = value - clist->voffset;
   clist->voffset = value;
 
-  if (GTK_WIDGET_DRAWABLE (clist))
+  if (gtkut_widget_is_drawable (GTK_WIDGET(clist)))
     {
       gdk_window_scroll (clist->clist_window, 0, dy);
       gdk_window_process_updates (clist->clist_window, FALSE);
@@ -6236,7 +6218,7 @@ typedef struct
 
 /* The window to which widget->window is relative */
 #define ALLOCATION_WINDOW(widget)              \
-   (GTK_WIDGET_NO_WINDOW (widget) ?            \
+   (!gtkut_widget_get_has_window (widget) ?            \
     (widget)->window :                          \
      gdk_window_get_parent ((widget)->window))
 
@@ -6246,9 +6228,9 @@ adjust_allocation_recurse (GtkWidget *widget,
 {
   ScrollData *scroll_data = data;
   
-  if (!GTK_WIDGET_REALIZED (widget))
+  if (!gtkut_widget_get_realized (widget))
     {
-      if (GTK_WIDGET_VISIBLE (widget))
+      if (gtkut_widget_get_visible (widget))
        {
          GdkRectangle tmp_rectangle = widget->allocation;
          tmp_rectangle.x += scroll_data->dx;
@@ -6276,7 +6258,7 @@ adjust_allocation (GtkWidget *widget,
 {
   ScrollData scroll_data;
 
-  if (GTK_WIDGET_REALIZED (widget))
+  if (gtkut_widget_get_realized (widget))
     scroll_data.window = ALLOCATION_WINDOW (widget);
   else
     scroll_data.window = NULL;
@@ -6298,8 +6280,8 @@ hadjustment_value_changed (GtkAdjustment *adjustment,
   gint value;
   gint dx;
 
-  g_return_if_fail (adjustment != NULL);
-  g_return_if_fail (GTK_IS_CMCLIST (data));
+  cm_return_if_fail (adjustment != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (data));
 
   clist = GTK_CMCLIST (data);
   container = GTK_CONTAINER (data);
@@ -6311,7 +6293,7 @@ hadjustment_value_changed (GtkAdjustment *adjustment,
 
   dx = -value - clist->hoffset;
 
-  if (GTK_WIDGET_REALIZED (clist))
+  if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
     gdk_window_scroll (clist->title_window, dx, 0);
 
   /* adjust the column button's allocations */
@@ -6321,9 +6303,10 @@ hadjustment_value_changed (GtkAdjustment *adjustment,
 
   clist->hoffset = -value;
 
-  if (GTK_WIDGET_DRAWABLE (clist))
+  if (gtkut_widget_is_drawable (GTK_WIDGET(clist)))
     {
-      if (GTK_WIDGET_CAN_FOCUS(clist) && GTK_WIDGET_HAS_FOCUS(clist) &&
+      if (gtkut_widget_get_can_focus(GTK_WIDGET(clist)) && 
+          gtkut_widget_has_focus(GTK_WIDGET(clist)) &&
           !container->focus_child && GTK_CMCLIST_ADD_MODE(clist))
         {
           y = ROW_TOP_YPIXEL (clist, clist->focus_row);
@@ -6336,7 +6319,8 @@ hadjustment_value_changed (GtkAdjustment *adjustment,
       gdk_window_scroll (clist->clist_window, dx, 0);
       gdk_window_process_updates (clist->clist_window, FALSE);
 
-      if (GTK_WIDGET_CAN_FOCUS(clist) && GTK_WIDGET_HAS_FOCUS(clist) &&
+      if (gtkut_widget_get_can_focus(GTK_WIDGET(clist)) && 
+          gtkut_widget_has_focus(GTK_WIDGET(clist)) &&
           !container->focus_child)
         {
           if (GTK_CMCLIST_ADD_MODE(clist))
@@ -6483,10 +6467,10 @@ row_delete (GtkCMCList    *clist,
   for (i = 0; i < clist->columns; i++)
     {
       GTK_CMCLIST_GET_CLASS (clist)->set_cell_contents
-       (clist, clist_row, i, GTK_CMCELL_EMPTY, NULL, 0, NULL, NULL);
+       (clist, clist_row, i, GTK_CMCELL_EMPTY, NULL, 0, NULL);
       if (clist_row->cell[i].style)
        {
-         if (GTK_WIDGET_REALIZED (clist))
+         if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
            gtk_style_detach (clist_row->cell[i].style);
          g_object_unref (clist_row->cell[i].style);
        }
@@ -6494,7 +6478,7 @@ row_delete (GtkCMCList    *clist,
 
   if (clist_row->style)
     {
-      if (GTK_WIDGET_REALIZED (clist))
+      if (gtkut_widget_get_realized (GTK_WIDGET(clist)))
         gtk_style_detach (clist_row->style);
       g_object_unref (clist_row->style);
     }
@@ -6544,7 +6528,7 @@ gtk_cmclist_focus (GtkWidget        *widget,
   GtkWidget *focus_child;
   gboolean is_current_focus;
 
-  if (!GTK_WIDGET_IS_SENSITIVE (widget))
+  if (!gtkut_widget_is_sensitive (widget))
     return FALSE;
 
   focus_child = GTK_CONTAINER (widget)->focus_child;
@@ -6624,9 +6608,9 @@ gtk_cmclist_draw_focus (GtkWidget *widget)
 {
   GtkCMCList *clist;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
 
-  if (!GTK_WIDGET_DRAWABLE (widget) || !GTK_WIDGET_CAN_FOCUS (widget))
+  if (!gtkut_widget_is_drawable (widget) || !gtkut_widget_get_can_focus (widget))
     return;
 
   clist = GTK_CMCLIST (widget);
@@ -6683,7 +6667,7 @@ focus_column (GtkCMCList *clist, gint column, gint dir)
     {
       return TRUE;
     }
-  else if (GTK_WIDGET_CAN_FOCUS (child))
+  else if (gtkut_widget_get_can_focus (child))
     {
       gtk_widget_grab_focus (child);
       return TRUE;
@@ -6790,7 +6774,7 @@ title_focus_move (GtkCMCList *clist,
   while (!return_val && j >= 0 && j < clist->columns)
     {
       if (clist->column[j].button &&
-         GTK_WIDGET_VISIBLE (clist->column[j].button))
+         gtkut_widget_get_visible (clist->column[j].button))
        {
          if (focus_column (clist, j, dir))
            {
@@ -6810,7 +6794,7 @@ title_focus_move (GtkCMCList *clist,
       while (!return_val && j != i)
        {
          if (clist->column[j].button &&
-             GTK_WIDGET_VISIBLE (clist->column[j].button))
+             gtkut_widget_get_visible (clist->column[j].button))
            {
              if (focus_column (clist, j, dir))
                {
@@ -6864,8 +6848,8 @@ move_focus_row (GtkCMCList      *clist,
 {
   GtkWidget *widget;
 
-  g_return_if_fail (clist != 0);
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (clist != 0);
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   widget = GTK_WIDGET (clist);
 
@@ -6931,8 +6915,8 @@ scroll_horizontal (GtkCMCList      *clist,
   gint column = 0;
   gint last_column;
 
-  g_return_if_fail (clist != 0);
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (clist != 0);
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist_has_grab (clist))
     return;
@@ -7006,7 +6990,7 @@ scroll_vertical (GtkCMCList      *clist,
 {
   gint old_focus_row;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist_has_grab (clist))
     return;
@@ -7168,7 +7152,7 @@ remove_grab (GtkCMCList *clist)
 {
   GtkWidget *widget = GTK_WIDGET (clist);
   
-  if (GTK_WIDGET_HAS_GRAB (clist))
+  if (gtkut_widget_has_grab (widget))
     {
       GdkDisplay *display = gtk_widget_get_display (widget);
       
@@ -7200,7 +7184,7 @@ remove_grab (GtkCMCList *clist)
 void
 gtk_cmclist_sort (GtkCMCList *clist)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   GTK_CMCLIST_GET_CLASS (clist)->sort_list (clist);
 }
@@ -7209,7 +7193,7 @@ void
 gtk_cmclist_set_compare_func (GtkCMCList            *clist,
                            GtkCMCListCompareFunc  cmp_func)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   clist->compare = (cmp_func) ? cmp_func : default_compare;
 }
@@ -7218,7 +7202,7 @@ void
 gtk_cmclist_set_auto_sort (GtkCMCList *clist,
                         gboolean  auto_sort)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
   
   if (GTK_CMCLIST_AUTO_SORT(clist) && !auto_sort)
     GTK_CMCLIST_UNSET_FLAG (clist, CMCLIST_AUTO_SORT);
@@ -7233,7 +7217,7 @@ void
 gtk_cmclist_set_sort_type (GtkCMCList    *clist,
                         GtkSortType  sort_type)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
   
   clist->sort_type = sort_type;
 }
@@ -7242,7 +7226,7 @@ void
 gtk_cmclist_set_sort_column (GtkCMCList *clist,
                           gint      column)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (column < 0 || column >= clist->columns)
     return;
@@ -7307,7 +7291,7 @@ real_sort_list (GtkCMCList *clist)
   GList *work;
   gint i;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (clist->rows <= 1)
     return;
@@ -7512,8 +7496,8 @@ gtk_cmclist_drag_begin (GtkWidget      *widget,
   GtkCMCList *clist;
   GtkCMCListCellInfo *info;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
-  g_return_if_fail (context != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (context != NULL);
 
   clist = GTK_CMCLIST (widget);
 
@@ -7561,8 +7545,8 @@ gtk_cmclist_drag_end (GtkWidget      *widget,
 {
   GtkCMCList *clist;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
-  g_return_if_fail (context != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (context != NULL);
 
   clist = GTK_CMCLIST (widget);
 
@@ -7578,8 +7562,8 @@ gtk_cmclist_drag_leave (GtkWidget      *widget,
   GtkCMCList *clist;
   GtkCMCListDestInfo *dest_info;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
-  g_return_if_fail (context != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (context != NULL);
 
   clist = GTK_CMCLIST (widget);
 
@@ -7624,7 +7608,7 @@ gtk_cmclist_drag_motion (GtkWidget      *widget,
   GtkCMCListDestInfo new_info;
   GtkCMCListDestInfo *dest_info;
 
-  g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
 
   clist = GTK_CMCLIST (widget);
 
@@ -7716,8 +7700,8 @@ gtk_cmclist_drag_drop (GtkWidget      *widget,
                     gint            y,
                     guint           time)
 {
-  g_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
-  g_return_val_if_fail (context != NULL, FALSE);
+  cm_return_val_if_fail (GTK_IS_CMCLIST (widget), FALSE);
+  cm_return_val_if_fail (context != NULL, FALSE);
 
   if (GTK_CMCLIST_REORDERABLE (widget) &&
       gtk_drag_get_source_widget (context) == widget)
@@ -7747,9 +7731,9 @@ gtk_cmclist_drag_data_received (GtkWidget        *widget,
 {
   GtkCMCList *clist;
 
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
-  g_return_if_fail (context != NULL);
-  g_return_if_fail (selection_data != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (context != NULL);
+  cm_return_if_fail (selection_data != NULL);
 
   clist = GTK_CMCLIST (widget);
 
@@ -7788,9 +7772,9 @@ gtk_cmclist_drag_data_get (GtkWidget        *widget,
                         guint             info,
                         guint             time)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (widget));
-  g_return_if_fail (context != NULL);
-  g_return_if_fail (selection_data != NULL);
+  cm_return_if_fail (GTK_IS_CMCLIST (widget));
+  cm_return_if_fail (context != NULL);
+  cm_return_if_fail (selection_data != NULL);
 
   if (selection_data->target == gdk_atom_intern_static_string ("gtk-clist-drag-reorder"))
     {
@@ -7845,7 +7829,7 @@ gtk_cmclist_set_reorderable (GtkCMCList *clist,
 {
   GtkWidget *widget;
 
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if ((GTK_CMCLIST_REORDERABLE(clist) != 0) == reorderable)
     return;
@@ -7870,7 +7854,7 @@ void
 gtk_cmclist_set_use_drag_icons (GtkCMCList *clist,
                              gboolean  use_icons)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
 
   if (use_icons != 0)
     GTK_CMCLIST_SET_FLAG (clist, CMCLIST_USE_DRAG_ICONS);
@@ -7883,12 +7867,12 @@ gtk_cmclist_set_button_actions (GtkCMCList *clist,
                              guint     button,
                              guint8    button_actions)
 {
-  g_return_if_fail (GTK_IS_CMCLIST (clist));
+  cm_return_if_fail (GTK_IS_CMCLIST (clist));
   
   if (button < MAX_BUTTON)
     {
       if (gdk_display_pointer_is_grabbed (gtk_widget_get_display (GTK_WIDGET (clist))) || 
-         GTK_WIDGET_HAS_GRAB (clist))
+         gtkut_widget_has_grab (GTK_WIDGET(clist)))
        {
          remove_grab (clist);
          clist->drag_button = 0;