Project

General

Profile

バグ #989

OpenRTM-aist(Java)-1.0.0-RC1 複合化解除時の不具合

Added by Anonymous over 14 years ago. Updated over 14 years ago.

Status:
終了
Priority:
通常
Assignee:
-
Target version:
-
Start date:
11/19/2009
Due date:
% Done:

100%

Estimated time:

Description

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 を接続した場合、 
  データ送信は正常に出来ている。

History

#1 Updated by Anonymous over 14 years ago

  • Status changed from 新規 to 解決
  • % Done changed from 0 to 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で更新。

#2 Updated by n-ando over 14 years ago

  • Status changed from 解決 to 終了

Also available in: Atom PDF