summaryrefslogtreecommitdiff
path: root/gnu/java/awt/peer/gtk/GtkChoicePeer.java
diff options
context:
space:
mode:
authorSven de Marothy <sven@physto.se>2006-08-03 04:31:02 +0000
committerSven de Marothy <sven@physto.se>2006-08-03 04:31:02 +0000
commit40df16749f761c1ba0d043a5e0d3ac73246229da (patch)
tree2493f52636f70fad8b9cc73fa94528286f24c5d4 /gnu/java/awt/peer/gtk/GtkChoicePeer.java
parenta70104a340717ff09a0efe811c4f9306fdea1f66 (diff)
downloadclasspath-40df16749f761c1ba0d043a5e0d3ac73246229da.tar.gz
2006-08-02 Sven de Marothy <sven@physto.se>
* gnu/java/awt/peer/gtk/GtkChoicePeer.java (remove): Force event on removing item 0 when it's selected. (handleEvent): Always call Choice.selected(). * java/awt/Choice.java: (remove): Simplify and correct.
Diffstat (limited to 'gnu/java/awt/peer/gtk/GtkChoicePeer.java')
-rw-r--r--gnu/java/awt/peer/gtk/GtkChoicePeer.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/gnu/java/awt/peer/gtk/GtkChoicePeer.java b/gnu/java/awt/peer/gtk/GtkChoicePeer.java
index 33632cbdf..f00461f3f 100644
--- a/gnu/java/awt/peer/gtk/GtkChoicePeer.java
+++ b/gnu/java/awt/peer/gtk/GtkChoicePeer.java
@@ -92,7 +92,10 @@ public class GtkChoicePeer extends GtkComponentPeer
public void remove( int index )
{
- selected = -1; // we do not want to trigger a select event here.
+ // Ensure the triggering of an event when removing item zero if zero is the
+ // selected item, even though the selected index doesn't change.
+ if( index == 0 && selected == 0 )
+ selected = -1;
nativeRemove( index );
}
@@ -134,8 +137,7 @@ public class GtkChoicePeer extends GtkComponentPeer
if( event instanceof ItemEvent )
if( ((ItemEvent)event).getItemSelectable() == awtComponent &&
((ItemEvent)event).getStateChange() == ItemEvent.SELECTED )
- if( ((Choice)awtComponent).getSelectedIndex() != selected )
- ((Choice)awtComponent).select( selected );
+ ((Choice)awtComponent).select( selected );
}
}