]> Pileus Git - ~andy/gtk/blobdiff - modules/other/gail/gailbutton.c
gail: we cant access button->in_button directly now.
[~andy/gtk] / modules / other / gail / gailbutton.c
index 8b0a05e2abc4251a4bb64b1b0d87b2c508d62ca1..8a187261c3a09ab515e29cf82e298a7162954d2e 100644 (file)
@@ -240,7 +240,7 @@ gail_button_is_default_press (GtkWidget *widget)
   gboolean ret = FALSE;
   const gchar *parent_type_name;
 
-  child = GTK_BIN (widget)->child;
+  child = gtk_bin_get_child (GTK_BIN (widget));
   if (GTK_IS_ARROW (child))
     {
       g_object_get (child,
@@ -498,12 +498,15 @@ idle_do_action (gpointer data)
   GtkWidget *widget;
   GailButton *gail_button;
   GdkEvent tmp_event;
+  GdkWindow *window;
 
   gail_button = GAIL_BUTTON (data);
   gail_button->action_idle_handler = 0;
   widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (gail_button));
+  window = gtk_widget_get_window (widget);
+
   tmp_event.button.type = GDK_BUTTON_RELEASE;
-  tmp_event.button.window = widget->window;
+  tmp_event.button.window = window;
   tmp_event.button.button = 1;
   tmp_event.button.send_event = TRUE;
   tmp_event.button.time = GDK_CURRENT_TIME;
@@ -536,14 +539,16 @@ idle_do_action (gpointer data)
        case 0:
          /* first a press */ 
 
+          /* FIXME: Do not access public member
          button->in_button = TRUE;
+          */
          g_signal_emit_by_name (button, "enter");
          /*
           * Simulate a button press event. calling gtk_button_pressed() does
           * not get the job done for a GtkOptionMenu.  
           */
          tmp_event.button.type = GDK_BUTTON_PRESS;
-         tmp_event.button.window = widget->window;
+         tmp_event.button.window = window;
          tmp_event.button.button = 1;
          tmp_event.button.send_event = TRUE;
          tmp_event.button.time = GDK_CURRENT_TIME;
@@ -554,18 +559,22 @@ idle_do_action (gpointer data)
          /* then a release */
          tmp_event.button.type = GDK_BUTTON_RELEASE;
          gtk_widget_event (widget, &tmp_event);
+          /* FIXME: Do not access public member
          button->in_button = FALSE;
+          */
          g_signal_emit_by_name (button, "leave");
          break;
        case 1:
+          /* FIXME: Do not access public member
          button->in_button = TRUE;
+          */
          g_signal_emit_by_name (button, "enter");
          /*
           * Simulate a button press event. calling gtk_button_pressed() does
           * not get the job done for a GtkOptionMenu.  
           */
          tmp_event.button.type = GDK_BUTTON_PRESS;
-         tmp_event.button.window = widget->window;
+         tmp_event.button.window = window;
          tmp_event.button.button = 1;
          tmp_event.button.send_event = TRUE;
          tmp_event.button.time = GDK_CURRENT_TIME;
@@ -574,7 +583,9 @@ idle_do_action (gpointer data)
          gtk_widget_event (widget, &tmp_event);
          break;
        case 2:
+          /* FIXME: Do not access public member
          button->in_button = FALSE;
+          */
          g_signal_emit_by_name (button, "leave");
          break;
        default:
@@ -665,7 +676,7 @@ gail_button_get_keybinding (AtkAction *action,
         if (GTK_IS_LABEL (label))
           {
             key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label)); 
-            if (key_val != GDK_VoidSymbol)
+            if (key_val != GDK_KEY_VoidSymbol)
               return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
           }
         if (return_value == NULL)
@@ -693,7 +704,7 @@ gail_button_get_keybinding (AtkAction *action,
             if (GTK_IS_LABEL (label))
               {
                 key_val = gtk_label_get_mnemonic_keyval (GTK_LABEL (label)); 
-                if (key_val != GDK_VoidSymbol)
+                if (key_val != GDK_KEY_VoidSymbol)
                   return_value = gtk_accelerator_name (key_val, GDK_MOD1_MASK);
               }
           }