forked from dorkbox/SystemTray
Fixed *.remove() methods for GTK, so they are continuously executed on
the GTK thread.
This commit is contained in:
parent
104717c016
commit
46c8bb712e
@ -252,7 +252,7 @@ class GtkMenu extends GtkBaseMenuItem implements MenuPeer {
|
||||
// is overridden by system tray
|
||||
setLegitImage(menuItem.getImage() != null);
|
||||
|
||||
GtkEventDispatch.dispatch(new Runnable() {
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public
|
||||
void run() {
|
||||
@ -273,7 +273,14 @@ class GtkMenu extends GtkBaseMenuItem implements MenuPeer {
|
||||
|
||||
Gtk2.gtk_widget_show_all(_native);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if (GtkEventDispatch.isDispatch.get()) {
|
||||
runnable.run();
|
||||
}
|
||||
else {
|
||||
GtkEventDispatch.dispatch(runnable);
|
||||
}
|
||||
}
|
||||
|
||||
// is overridden in tray impl
|
||||
@ -378,7 +385,7 @@ class GtkMenu extends GtkBaseMenuItem implements MenuPeer {
|
||||
@Override
|
||||
public
|
||||
void remove() {
|
||||
GtkEventDispatch.dispatch(new Runnable() {
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public
|
||||
void run() {
|
||||
@ -401,6 +408,13 @@ class GtkMenu extends GtkBaseMenuItem implements MenuPeer {
|
||||
parent.createMenu(); // must be on EDT
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if (GtkEventDispatch.isDispatch.get()) {
|
||||
runnable.run();
|
||||
}
|
||||
else {
|
||||
GtkEventDispatch.dispatch(runnable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -185,7 +185,7 @@ class GtkMenuItem extends GtkBaseMenuItem implements MenuItemPeer, GCallback {
|
||||
@Override
|
||||
public
|
||||
void remove() {
|
||||
GtkEventDispatch.dispatch(new Runnable() {
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public
|
||||
void run() {
|
||||
@ -201,6 +201,13 @@ class GtkMenuItem extends GtkBaseMenuItem implements MenuItemPeer, GCallback {
|
||||
|
||||
parent.remove(GtkMenuItem.this);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if (GtkEventDispatch.isDispatch.get()) {
|
||||
runnable.run();
|
||||
}
|
||||
else {
|
||||
GtkEventDispatch.dispatch(runnable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -291,7 +291,7 @@ class GtkMenuItemCheckbox extends GtkBaseMenuItem implements CheckboxPeer, GCall
|
||||
@Override
|
||||
public
|
||||
void remove() {
|
||||
GtkEventDispatch.dispatch(new Runnable() {
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public
|
||||
void run() {
|
||||
@ -306,6 +306,13 @@ class GtkMenuItemCheckbox extends GtkBaseMenuItem implements CheckboxPeer, GCall
|
||||
|
||||
parent.remove(GtkMenuItemCheckbox.this);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if (GtkEventDispatch.isDispatch.get()) {
|
||||
runnable.run();
|
||||
}
|
||||
else {
|
||||
GtkEventDispatch.dispatch(runnable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ class GtkMenuItemSeparator extends GtkBaseMenuItem implements EntryPeer {
|
||||
@Override
|
||||
public
|
||||
void remove() {
|
||||
GtkEventDispatch.dispatch(new Runnable() {
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public
|
||||
void run() {
|
||||
@ -45,7 +45,14 @@ class GtkMenuItemSeparator extends GtkBaseMenuItem implements EntryPeer {
|
||||
|
||||
parent.remove(GtkMenuItemSeparator.this);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if (GtkEventDispatch.isDispatch.get()) {
|
||||
runnable.run();
|
||||
}
|
||||
else {
|
||||
GtkEventDispatch.dispatch(runnable);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -61,7 +61,7 @@ class GtkMenuItemStatus extends GtkBaseMenuItem implements StatusPeer {
|
||||
@Override
|
||||
public
|
||||
void remove() {
|
||||
GtkEventDispatch.dispatch(new Runnable() {
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public
|
||||
void run() {
|
||||
@ -71,6 +71,13 @@ class GtkMenuItemStatus extends GtkBaseMenuItem implements StatusPeer {
|
||||
|
||||
parent.remove(GtkMenuItemStatus.this);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
if (GtkEventDispatch.isDispatch.get()) {
|
||||
runnable.run();
|
||||
}
|
||||
else {
|
||||
GtkEventDispatch.dispatch(runnable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user