Eclipse блокировка рабочего стола linux mint cinnamon при отладке java приложения
У меня есть воспроизводимая проблема с блокировкой рабочего стола Mint Cinnamon при попадании в точку останова отладки с помощью Eclipse. Когда я говорю, что он блокируется, я имею в виду, что щелчки мыши полностью неработоспособны (даже на панели Mint). Alt-Tab выглядит так, как будто он работает, но выбор другого окна не фокусирует и не активирует окно (работает только селектор Alt-Tab).
Отладка и точки останова работают нормально везде, насколько я могу судить кроме когда точка останова находится внутри внутреннего класса anon или лямбды.
Публичное РЕПО git с довольно простым примером проекта, вызывающего это:
Оба
Linux Mint 17.3
Затмение Неон 4.6.0
Java 8 (1.8.0_92) (Использование JavaFX)
Код ниже (вам придется захватить файлы проекта, чтобы запустить его):
package application; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.scene.layout.BorderPane; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { try { BorderPane root = (BorderPane)FXMLLoader.load(getClass().getResource("Sample.fxml")); Scene scene = new Scene(root,400,400); scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm()); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception e) { e.printStackTrace(); } } public static void main(String[] args) { launch(args); } } package application; import javafx.event.Event; import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.scene.control.Tab; import javafx.scene.control.TabPane; public class SampleController { @FXML private TabPane tabPane; public void createTab() { Tab tab = new Tab("New tab");//Breakpoint here does NOT freeze desktop // tab.setOnCloseRequest(e -> { // System.out.println("bleh");//Breakpoint here, freezes desktop // }); tab.setOnCloseRequest(new EventHandler<Event>(){ @Override public void handle(Event e){ System.out.println("bleh");//Breakpoint here, also freezes desktop } }); tabPane.getTabs().add(tab);//Breakpoint here does NOT freeze desktop int index = tabPane.getTabs().size() - 1; tabPane.getSelectionModel().select(index); } }
Что я уже пробовал:
Ctrl-Alt-ESC перезапускает Cinnamon, и после этого все идет нормально. Я пробовал использовать лямбды и использовать внутренний класс anon, и то, и другое вызывает у меня эту проблему.