Index: gtk/gtkcombobox.c
===================================================================
--- gtk/gtkcombobox.c	(revision 17558)
+++ gtk/gtkcombobox.c	(working copy)
@@ -5027,6 +5027,62 @@
   return NULL;
 }
 
+/**
+ * gtk_combo_box_clear_text:
+ * @combo_box: A #GtkComboBox constructed with gtk_combo_box_new_text().
+ *
+ * Removes all the text entries from the combo box.  Note that you can only use
+ * this function with combo boxes constructed with gtk_combo_box_new_text()
+ * and with #GtkComboBoxEntry<!-- -->s.
+ *
+ * Since: 2.12
+ */
+void
+gtk_combo_box_clear_text (GtkComboBox *combo_box)
+{
+  GtkListStore *store;
+
+  g_return_if_fail (GTK_IS_COMBO_BOX (combo_box));
+  g_return_if_fail (GTK_IS_LIST_STORE (combo_box->priv->model));
+
+  store = GTK_LIST_STORE (combo_box->priv->model);
+  gtk_list_store_clear(store);
+}
+
+/**
+ * gtk_combo_box_get_num_entries_text:
+ * @combo_box: A #GtkComboBox constructed with gtk_combo_box_new_text().
+ *
+ * Counts the number of text entries in the combo box.  Note that you can only use 
+ * this function with combo boxes constructed with gtk_combo_box_new_text()
+ * and with #GtkComboBoxEntry<!-- -->s.
+ *
+ * Returns: the number of text entries in @combo_box.
+ *
+ * Since: 2.12
+ */
+gint
+gtk_combo_box_get_num_entries_text (GtkComboBox *combo_box)
+{
+  GtkListStore *store;
+  GtkTreeIter iter;
+  gint n_entries = 0;
+
+  g_return_if_fail (GTK_IS_COMBO_BOX (combo_box));
+  g_return_if_fail (GTK_IS_LIST_STORE (combo_box->priv->model));
+
+  store = GTK_LIST_STORE (combo_box->priv->model);
+
+  if (!gtk_tree_model_get_iter_first (GTK_TREE_MODEL (store), &iter))
+    return 0;
+
+  do
+    n_entries++;
+  while (gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter));
+
+  return n_entries;
+}
+
 static gchar *
 gtk_combo_box_real_get_active_text (GtkComboBox *combo_box)
 {
Index: gtk/gtkcombobox.h
===================================================================
--- gtk/gtkcombobox.h	(revision 17558)
+++ gtk/gtkcombobox.h	(working copy)
@@ -111,17 +111,19 @@
 								  GtkDestroyNotify            destroy);
 
 /* convenience -- text */
-GtkWidget    *gtk_combo_box_new_text         (void);
-void          gtk_combo_box_append_text      (GtkComboBox     *combo_box,
-                                              const gchar     *text);
-void          gtk_combo_box_insert_text      (GtkComboBox     *combo_box,
-                                              gint             position,
-                                              const gchar     *text);
-void          gtk_combo_box_prepend_text     (GtkComboBox     *combo_box,
-                                              const gchar     *text);
-void          gtk_combo_box_remove_text      (GtkComboBox     *combo_box,
-                                              gint             position);
-gchar        *gtk_combo_box_get_active_text  (GtkComboBox     *combo_box);
+GtkWidget    *gtk_combo_box_new_text               (void);
+void          gtk_combo_box_append_text            (GtkComboBox     *combo_box,
+                                                    const gchar     *text);
+void          gtk_combo_box_insert_text            (GtkComboBox     *combo_box,
+                                                    gint             position,
+                                                    const gchar     *text);
+void          gtk_combo_box_prepend_text           (GtkComboBox     *combo_box,
+                                                    const gchar     *text);
+void          gtk_combo_box_remove_text            (GtkComboBox     *combo_box,
+                                                    gint             position);
+gchar        *gtk_combo_box_get_active_text        (GtkComboBox     *combo_box);
+void          gtk_combo_box_clear_text             (GtkComboBox     *combo_box);
+gint          gtk_combo_box_get_num_entries_text   (GtkComboBox     *combo_box);
 
 /* programmatic control */
 void          gtk_combo_box_popup            (GtkComboBox     *combo_box);
