summaryrefslogtreecommitdiff
blob: 87888e5ee39284b2e4e8cf33ff0b0248312c5af3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Index: kdesdk-3.5.1/umbrello/umbrello/assocrules.cpp
===================================================================
--- kdesdk-3.5.1.orig/umbrello/umbrello/assocrules.cpp
+++ kdesdk-3.5.1/umbrello/umbrello/assocrules.cpp
@@ -21,6 +21,7 @@
 #include "associationwidget.h"
 #include "statewidget.h"
 #include "activitywidget.h"
+#include "forkjoinwidget.h"
 
 using namespace Uml;
 
@@ -197,13 +198,15 @@ bool AssocRules::allowAssociation( Assoc
                 static_cast<ActivityWidget*>(widgetA)->getActivityType() !=
                 ActivityWidget::Branch &&
                 static_cast<ActivityWidget*>(widgetA)->getActivityType() !=
-                ActivityWidget::Fork_DEPRECATED ) {
+                ActivityWidget::Fork_DEPRECATED &&
+		dynamic_cast<ForkJoinWidget*>(widgetA) == NULL ) {
             return false;
         }
         // only Forks and Branches can have more than one "outgoing" transition
         if( static_cast<ActivityWidget*>(widgetA)->getActivityType() !=
                 ActivityWidget::Fork_DEPRECATED &&
-                static_cast<ActivityWidget*>(widgetA)->getActivityType() !=
+		dynamic_cast<ForkJoinWidget*>(widgetA) == NULL &&
+               static_cast<ActivityWidget*>(widgetA)->getActivityType() !=
                 ActivityWidget::Branch ) {
             AssociationWidgetList list = widgetA->getAssocList();
             for (AssociationWidget* assoc = list.first(); assoc; assoc = list.next()) {