Index: gtk/gtkcombobox.c
===================================================================
--- gtk/gtkcombobox.c	(revision 19613)
+++ gtk/gtkcombobox.c	(working copy)
@@ -121,6 +121,7 @@ struct _GtkComboBoxPrivate
   guint editing_canceled : 1;
   guint auto_scroll : 1;
   guint focus_on_click : 1;
+  guint activates_default : 1;
 
   GtkTreeViewRowSeparatorFunc row_separator_func;
   gpointer                    row_separator_data;
@@ -202,7 +203,8 @@ enum {
   PROP_TEAROFF_TITLE,
   PROP_HAS_FRAME,
   PROP_FOCUS_ON_CLICK,
-  PROP_POPUP_SHOWN
+  PROP_POPUP_SHOWN,
+  PROP_ACTIVATES_DEFAULT
 };
 
 static guint combo_box_signals[LAST_SIGNAL] = {0,};
@@ -823,6 +825,22 @@ gtk_combo_box_class_init (GtkComboBoxCla
                                                          FALSE,
                                                          GTK_PARAM_READABLE));
 
+  /**
+   * GtkComboBox:activates-default:
+   *
+   * Whether to activate the default widget (such as the default
+   * button in a dialog) when Enter is pressed.
+   *
+   * Since: 2.14
+   */
+  g_object_class_install_property (object_class,
+                                   PROP_ACTIVATES_DEFAULT,
+                                   g_param_spec_boolean ("activates-default",
+                                                         P_("Activates default"),
+                                                         P_("Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed"),
+                                                         FALSE,
+                                                         GTK_PARAM_READWRITE));
+
   gtk_widget_class_install_style_property (widget_class,
                                            g_param_spec_boolean ("appears-as-list",
                                                                  P_("Appears as list"),
@@ -864,7 +882,8 @@ gtk_combo_box_class_init (GtkComboBoxCla
                                                               GTK_SHADOW_NONE,
                                                               GTK_PARAM_READABLE));
 
-  g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate));
+
+ g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate));
 }
 
 static void
@@ -980,6 +999,11 @@ gtk_combo_box_set_property (GObject     
           gtk_combo_box_popdown (combo_box);
         break;
 
+      case PROP_ACTIVATES_DEFAULT:
+        gtk_combo_box_set_activates_default (combo_box,
+                                             g_value_get_boolean (value));
+        break;
+
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
         break;
@@ -1036,6 +1060,10 @@ gtk_combo_box_get_property (GObject    *
         g_value_set_boolean (value, combo_box->priv->popup_shown);
         break;
 
+      case PROP_ACTIVATES_DEFAULT:
+        g_value_set_boolean (value, combo_box->priv->activates_default);
+        break;
+
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
         break;
@@ -5700,6 +5728,46 @@ gtk_combo_box_get_focus_on_click (GtkCom
   return combo_box->priv->focus_on_click;
 }
 
+/**
+ * gtk_combo_box_set_activates_default:
+ * @combo_box: a #GtkComboBox
+ * @setting: %TRUE to activate window's default widget on Enter keypress
+ *
+ * If @setting is %TRUE, pressing Enter in the @combo_box will
+ * activate the default widget for the window containing the combo
+ * box. This usually means that the dialog box containing the combo
+ * box will be closed, since the default widget is usually one of the
+ * dialog buttons.
+ **/
+void
+gtk_combo_box_set_activates_default (GtkComboBox *combo_box,
+                                     gboolean     setting)
+{
+  g_return_if_fail (GTK_IS_COMBO_BOX (combo_box));
+  setting = setting != FALSE;
+
+  if (setting != combo_box->priv->activates_default)
+    {
+      combo_box->priv->activates_default = setting;
+      g_object_notify (G_OBJECT (combo_box), "activates-default");
+    }
+}
+
+/**
+ * gtk_combo_box_get_activates_default:
+ * @combo_box: a #GtkComboBox
+ *
+ * Retrieves the value set by gtk_combo_box_set_activates_default().
+ *
+ * Return value: %TRUE if the combo box will activate the default widget
+ **/
+gboolean
+gtk_combo_box_get_activates_default (GtkComboBox *combo_box)
+{
+  g_return_val_if_fail (GTK_IS_COMBO_BOX (combo_box), FALSE);
+
+  return combo_box->priv->activates_default;
+}
 
 static gboolean
 gtk_combo_box_buildable_custom_tag_start (GtkBuildable  *buildable,
Index: gtk/gtkcombobox.h
===================================================================
--- gtk/gtkcombobox.h	(revision 19613)
+++ gtk/gtkcombobox.h	(working copy)
@@ -110,6 +110,10 @@ void                        gtk_combo_bo
 								  gpointer                    data,
 								  GtkDestroyNotify            destroy);
 
+void          gtk_combo_box_set_activates_default (GtkComboBox *combo_box,
+                                                   gboolean     setting);
+gboolean      gtk_combo_box_get_activates_default (GtkComboBox *combo_box);
+
 /* convenience -- text */
 GtkWidget    *gtk_combo_box_new_text         (void);
 void          gtk_combo_box_append_text      (GtkComboBox     *combo_box,
