バグ #989
完了OpenRTM-aist(Java)-1.0.0-RC1 複合化解除時の不具合
100%
説明
examples/Composite について、rtc.conf, composite.conf をデフォルトの状態で使用してテストした。
1. Composite を起動して、復号化されたPeriodicECSharedComposite0 を選択。
(System Dialog 上に配置し、ダブルクリックでCompositeエディタを表示)
2.PeriodicECSharedComposite0 を選択して複合解除した。
(右クリックから Decompose Composite Componentを選択)
Controller, Motor, Sensor が白色になった。
(state:CREATED)
※SystemEditor のプロパティから「ExecutionContext」の欄が消えた。
3. Controller, Motor, Sensor を再度復合化した。
(右クリックから Create Composite Componentを選択)
4. 再度の複合化は実行できる。
5. ConsoleIn -> 複合コンポーネント -> ConsoleOut を接続した場合、
データ送信は正常に出来ている。
匿名ユーザー さんが約15年前に更新
- ステータス を 新規 から 解決 に変更
- 進捗率 を 0 から 100 に変更
●RTObject_impl.java
class ec_copy の operator(ExecutionContextService ecs) で
ecs の nullチェックが抜けていた。
下記のif分を追加した。
if(ecs != null) {
CORBA_SeqUtil.push_back(m_eclist, (ExecutionContext)ecs._duplicate());
}
class ec_find の operator(ExecutionContextService ecs) で
ecs の nullチェックが抜けていた。
下記のif分を追加した。
if(ecs != null) {
ExecutionContext ec;
ec = ExecutionContextHelper.narrow(ecs);
return m_ec._is_equivalent(ec);
}
class deactivate_comps の operator(ExecutionContextService ecs) で
ecs の nullチェックが抜けていた。
下記のif分を追加した。
if(ecs != null) {
ecs.deactivate_component((LightweightRTObject)m_comp._duplicate());
}
以上で state が異常になる問題は解決した。
リビジョン217で更新。