From 297792defceaf86e07bb4668c06ec2f3b0ac08a3 Mon Sep 17 00:00:00 2001 From: Eduardo Ramos Date: Thu, 3 Aug 2017 19:53:06 +0200 Subject: [PATCH] Fix #1566 GePhi freezes after successfully importing dynamic gexf file --- .../main/java/org/gephi/appearance/AppearanceModelImpl.java | 4 ++-- .../org/gephi/desktop/appearance/AppearanceTopComponent.java | 2 -- .../src/main/java/org/gephi/filters/FilterControllerImpl.java | 4 ++-- .../src/main/java/org/gephi/filters/FilterProcessor.java | 2 +- .../java/org/gephi/statistics/StatisticsControllerImpl.java | 1 + .../main/java/org/gephi/visualization/bridge/DataBridge.java | 3 ++- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/AppearanceAPI/src/main/java/org/gephi/appearance/AppearanceModelImpl.java b/modules/AppearanceAPI/src/main/java/org/gephi/appearance/AppearanceModelImpl.java index 1315be2a08..ff55bc82bc 100644 --- a/modules/AppearanceAPI/src/main/java/org/gephi/appearance/AppearanceModelImpl.java +++ b/modules/AppearanceAPI/src/main/java/org/gephi/appearance/AppearanceModelImpl.java @@ -471,7 +471,6 @@ public Partition getPartition(Column column) { protected void refreshFunctions() { graph.readLock(); - try { boolean graphHasChanged = graphObserver.isNew() || graphObserver.hasGraphChanged(); if (graphHasChanged) { @@ -482,7 +481,7 @@ protected void refreshFunctions() { } refreshAttributeFunctions(graphHasChanged); } finally { - graph.readUnlock(); + graph.readUnlockAll(); } } @@ -648,6 +647,7 @@ private boolean isPartition(Graph graph, Column column) { Object[] va = val.toValuesArray(); for (Object v : va) { if (v != null) { + iterable.doBreak(); return true; } } diff --git a/modules/DesktopAppearance/src/main/java/org/gephi/desktop/appearance/AppearanceTopComponent.java b/modules/DesktopAppearance/src/main/java/org/gephi/desktop/appearance/AppearanceTopComponent.java index 3511a19fb9..212902ed28 100644 --- a/modules/DesktopAppearance/src/main/java/org/gephi/desktop/appearance/AppearanceTopComponent.java +++ b/modules/DesktopAppearance/src/main/java/org/gephi/desktop/appearance/AppearanceTopComponent.java @@ -58,12 +58,10 @@ Development and Distribution License("CDDL") (collectively, the import javax.swing.JToggleButton; import javax.swing.SwingUtilities; import javax.swing.UIManager; -import org.gephi.appearance.api.AttributeFunction; import org.gephi.appearance.api.Function; import org.gephi.appearance.api.Interpolator; import org.gephi.appearance.api.RankingFunction; import org.gephi.appearance.spi.TransformerUI; -import org.gephi.graph.api.Column; import org.gephi.ui.components.splineeditor.SplineEditor; import org.gephi.ui.utils.UIUtils; import org.netbeans.api.settings.ConvertAsProperties; diff --git a/modules/FiltersImpl/src/main/java/org/gephi/filters/FilterControllerImpl.java b/modules/FiltersImpl/src/main/java/org/gephi/filters/FilterControllerImpl.java index dc89bd63dc..cc0015156c 100644 --- a/modules/FiltersImpl/src/main/java/org/gephi/filters/FilterControllerImpl.java +++ b/modules/FiltersImpl/src/main/java/org/gephi/filters/FilterControllerImpl.java @@ -328,8 +328,8 @@ public void exportToColumn(String title, Query query) { e.setAttribute(edgeCol, Boolean.TRUE); } } finally { - result.readUnlockAll(); result.writeUnlock(); + result.readUnlockAll(); } //StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage(FilterControllerImpl.class, "FilterController.exportToColumn.status", title)); } @@ -398,8 +398,8 @@ public void exportToLabelVisible(Query query) { e.getTextProperties().setVisible(inView); } } finally { - fullGraph.readUnlockAll(); fullGraph.writeUnlock(); + fullGraph.readUnlockAll(); } } diff --git a/modules/FiltersImpl/src/main/java/org/gephi/filters/FilterProcessor.java b/modules/FiltersImpl/src/main/java/org/gephi/filters/FilterProcessor.java index 2da1c1ff83..4258fb775b 100644 --- a/modules/FiltersImpl/src/main/java/org/gephi/filters/FilterProcessor.java +++ b/modules/FiltersImpl/src/main/java/org/gephi/filters/FilterProcessor.java @@ -132,8 +132,8 @@ public Graph process(AbstractQueryImpl query, GraphModel graphModel) { return finalResult; } finally { - graph.readUnlockAll(); graph.writeUnlock(); + graph.readUnlockAll(); } } diff --git a/modules/StatisticsAPI/src/main/java/org/gephi/statistics/StatisticsControllerImpl.java b/modules/StatisticsAPI/src/main/java/org/gephi/statistics/StatisticsControllerImpl.java index a15f4807e5..ef124fa160 100644 --- a/modules/StatisticsAPI/src/main/java/org/gephi/statistics/StatisticsControllerImpl.java +++ b/modules/StatisticsAPI/src/main/java/org/gephi/statistics/StatisticsControllerImpl.java @@ -231,6 +231,7 @@ private void executeDynamic(DynamicStatistics statistics, DynamicLongTask dynami statistics.loop(g.getView(), new Interval(low, high)); } finally { graph.writeUnlock(); + graph.readUnlockAll(); } //Cancelled? diff --git a/modules/VisualizationImpl/src/main/java/org/gephi/visualization/bridge/DataBridge.java b/modules/VisualizationImpl/src/main/java/org/gephi/visualization/bridge/DataBridge.java index c00996f37f..8c94ce8399 100644 --- a/modules/VisualizationImpl/src/main/java/org/gephi/visualization/bridge/DataBridge.java +++ b/modules/VisualizationImpl/src/main/java/org/gephi/visualization/bridge/DataBridge.java @@ -159,6 +159,7 @@ public synchronized boolean updateWorld() { force = true; } finally { graphModel.getGraph().writeUnlock(); + graphModel.getGraph().readUnlockAll(); } } @@ -310,8 +311,8 @@ public synchronized void reset() { } } finally { if (graphModel != null) { - graph.readUnlockAll(); graph.writeUnlock(); + graph.readUnlockAll(); } }