Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 394643
Collapse All | Expand All

(-)widgetkits/org/eclipse/swt/internal/widgets/tableitemkit/TableItemLCA.java (-5 / +1 lines)
Lines 102-112 Link Here
102
102
103
  @Override
103
  @Override
104
  public void renderDispose( Widget widget ) throws IOException {
104
  public void renderDispose( Widget widget ) throws IOException {
105
    TableItem item = ( TableItem )widget;
105
    ClientObjectFactory.getClientObject( widget ).destroy();
106
    if( !isParentDisposed( item ) ) {
107
      // The tree disposes the items itself on the client (faster)
108
      ClientObjectFactory.getClientObject( widget ).destroy();
109
    }
110
  }
106
  }
111
107
112
  //////////////////
108
  //////////////////
(-)widgetkits/org/eclipse/swt/internal/widgets/treeitemkit/TreeItemLCA.java (-6 / +1 lines)
Lines 139-150 Link Here
139
139
140
  @Override
140
  @Override
141
  public void renderDispose( Widget widget ) throws IOException {
141
  public void renderDispose( Widget widget ) throws IOException {
142
    TreeItem item = ( TreeItem )widget;
142
    ClientObjectFactory.getClientObject( widget ).destroy();
143
    ITreeItemAdapter itemAdapter = item.getAdapter( ITreeItemAdapter.class );
144
    if( !itemAdapter.isParentDisposed() ) {
145
      // The tree disposes the items itself on the client (faster)
146
      ClientObjectFactory.getClientObject( widget ).destroy();
147
    }
148
  }
143
  }
149
144
150
  //////////////////
145
  //////////////////
(-)js/org/eclipse/rwt/test/tests/TreeTest.js (+3 lines)
Lines 1067-1074 Link Here
1067
      assertNotNull( tree._rootItem );
1067
      assertNotNull( tree._rootItem );
1068
      assertNotNull( tree._focusItem );
1068
      assertNotNull( tree._focusItem );
1069
      assertNotNull( tree._leadItem );
1069
      assertNotNull( tree._leadItem );
1070
1071
      item.dispose(); // The fix for Bug 394643 causes the server to always render a item dispose
1070
      tree.destroy();
1072
      tree.destroy();
1071
      TestUtil.flush();
1073
      TestUtil.flush();
1074
1072
      assertTrue( element.parentNode !== document.body );
1075
      assertTrue( element.parentNode !== document.body );
1073
      assertTrue( tree.isDisposed() );
1076
      assertTrue( tree.isDisposed() );
1074
      assertTrue( row.isDisposed() );
1077
      assertTrue( row.isDisposed() );
(-)src/org/eclipse/swt/internal/widgets/tableitemkit/TableItemLCA_Test.java (-1 / +1 lines)
Lines 234-240 Link Here
234
234
235
    // when the whole table is disposed of, the tableitem's dispose must not be rendered
235
    // when the whole table is disposed of, the tableitem's dispose must not be rendered
236
    Message message = Fixture.getProtocolMessage();
236
    Message message = Fixture.getProtocolMessage();
237
    assertNull( message.findDestroyOperation( tableItem ) );
237
    assertNotNull( message.findDestroyOperation( tableItem ) );
238
    assertTrue( tableItem.isDisposed() );
238
    assertTrue( tableItem.isDisposed() );
239
  }
239
  }
240
240
(-)src/org/eclipse/swt/internal/widgets/treeitemkit/TreeItemLCA_Test.java (-2 / +2 lines)
Lines 306-312 Link Here
306
    lca.renderDispose( item );
306
    lca.renderDispose( item );
307
307
308
    Message message = Fixture.getProtocolMessage();
308
    Message message = Fixture.getProtocolMessage();
309
    assertEquals( 0, message.getOperationCount() );
309
    assertEquals( 1, message.getOperationCount() );
310
  }
310
  }
311
311
312
  public void testRenderDisposeWithDisposedParentItem() throws IOException {
312
  public void testRenderDisposeWithDisposedParentItem() throws IOException {
Lines 317-323 Link Here
317
    lca.renderDispose( subitem );
317
    lca.renderDispose( subitem );
318
318
319
    Message message = Fixture.getProtocolMessage();
319
    Message message = Fixture.getProtocolMessage();
320
    assertEquals( 0, message.getOperationCount() );
320
    assertEquals( 1, message.getOperationCount() );
321
  }
321
  }
322
322
323
  public void testRenderParent() throws IOException {
323
  public void testRenderParent() throws IOException {

Return to bug 394643