[dia] Bug #583533 - broken Selection modes



commit b8acc9169ce3f154ffe34fb2563c8100a2f1e887
Author: Hans Breuer <hans breuer org>
Date:   Fri May 22 11:38:16 2009 +0200

    Bug #583533 - broken Selection modes
---
 app/menus.c  |    2 +-
 app/select.c |    6 +++---
 app/select.h |   13 +++++++++----
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/app/menus.c b/app/menus.c
index aa109e9..69d3855 100644
--- a/app/menus.c
+++ b/app/menus.c
@@ -836,7 +836,7 @@ create_or_ref_display_actions (void)
   gtk_action_group_add_radio_actions (display_actions,
                 display_select_radio_entries,
                 G_N_ELEMENTS (display_select_radio_entries),
-                1,
+                0, /* SELECT_REPLACE - first radio entry */
                 G_CALLBACK (select_style_callback),
                 NULL);
   /* the initial reference */
diff --git a/app/select.c b/app/select.c
index d2bd79a..fcff206 100644
--- a/app/select.c
+++ b/app/select.c
@@ -27,7 +27,7 @@
 #include "object_ops.h"
 #include "textedit.h"
 
-enum SelectionStyle selection_style = SELECT_REPLACE;
+SelectionStyle selection_style = SELECT_REPLACE;
 
 void
 select_all_callback(gpointer data, guint action, GtkWidget *widget)
@@ -255,11 +255,11 @@ select_same_type_callback(gpointer data, guint action, GtkWidget *widget)
 }
 
 void
-select_style_callback(gpointer data, guint action, GtkWidget *widget)
+select_style_callback(GtkAction *action, GtkRadioAction *current, gpointer user_data)
 {
   DDisplay *ddisp = ddisplay_active();
   if (!ddisp || textedit_mode(ddisp)) return;
 
   /* simply set the selection style to the value of `action' */
-  selection_style = action;
+  selection_style = gtk_radio_action_get_current_value (current);
 }
diff --git a/app/select.h b/app/select.h
index 8f5fdb6..bc60f2f 100644
--- a/app/select.h
+++ b/app/select.h
@@ -21,10 +21,15 @@
 #include "diagram.h"
 #include "display.h"
 
-enum SelectionStyle {SELECT_REPLACE, SELECT_UNION, 
-                     SELECT_INTERSECTION, SELECT_REMOVE, SELECT_INVERT};
+typedef enum {
+  SELECT_REPLACE, 
+  SELECT_UNION,
+  SELECT_INTERSECTION,
+  SELECT_REMOVE,
+  SELECT_INVERT
+} SelectionStyle;
 
-extern enum SelectionStyle selection_style;
+extern SelectionStyle selection_style;
 
 void select_all_callback(gpointer data, guint action, GtkWidget *widget);
 void select_none_callback(gpointer data, guint action, GtkWidget *widget);
@@ -32,6 +37,6 @@ void select_invert_callback(gpointer data, guint action, GtkWidget *widget);
 void select_connected_callback(gpointer data, guint action, GtkWidget *widget);
 void select_transitive_callback(gpointer data, guint action, GtkWidget*widget);
 void select_same_type_callback(gpointer data, guint action, GtkWidget *widget);
-void select_style_callback(gpointer data, guint action, GtkWidget *widget);
+void select_style_callback(GtkAction *action, GtkRadioAction *current, gpointer user_data);
 
 #endif



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