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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
---
toolkit/source/layout/vcl/wfield.cxx | 4 ++++
toolkit/source/layout/vcl/wrapper.cxx | 13 ++++++-------
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git toolkit/source/layout/vcl/wfield.cxx toolkit/source/layout/vcl/wfield.cxx
index 7f16769..bf89d60 100644
--- toolkit/source/layout/vcl/wfield.cxx
+++ toolkit/source/layout/vcl/wfield.cxx
@@ -419,6 +419,8 @@ ComboBox::~ComboBox ()
#ifndef __SUNPRO_CC
OSL_TRACE ("%s: deleting ComboBox for window: %p", __FUNCTION__, GetWindow ());
#endif
+ SetClickHdl (Link ());
+ SetSelectHdl (Link ());
}
ComboBoxImpl::~ComboBoxImpl ()
@@ -668,6 +670,8 @@ public:
ListBox::~ListBox ()
{
+ SetClickHdl (Link ());
+ SetSelectHdl (Link ());
}
sal_uInt16 ListBox::InsertEntry (String const& rStr, sal_uInt16 nPos)
diff --git toolkit/source/layout/vcl/wrapper.cxx toolkit/source/layout/vcl/wrapper.cxx
index 9c69662..d377970 100644
--- toolkit/source/layout/vcl/wrapper.cxx
+++ toolkit/source/layout/vcl/wrapper.cxx
@@ -174,7 +174,10 @@ WindowImpl::WindowImpl (Context *context, const PeerHandle &peer, Window *window
WindowImpl::~WindowImpl ()
{
if (mpWindow)
+ {
+ mpWindow->GetWindow ()->SetAccessible (0);
mpWindow->mpImpl = 0;
+ }
if (mvclWindow)
{
VCLXWindow *v = mvclWindow->GetWindowPeer ();
@@ -696,10 +699,6 @@ ControlImpl::ControlImpl (Context *context, const PeerHandle &peer, Window *wind
ControlImpl::~ControlImpl ()
{
- if ((!!mGetFocusHdl || !!mLoseFocusHdl) && mxWindow.is ())
- /* Disposing will be done @ VCLXWindow::dispose () maFocusListeners.disposeAndClear()
- don't do it twice */
- mxWindow.clear ();
}
void ControlImpl::SetGetFocusHdl (Link const& link)
@@ -723,7 +722,7 @@ void ControlImpl::SetLoseFocusHdl (Link const& link)
Link& ControlImpl::GetLoseFocusHdl ()
{
- return mGetFocusHdl;
+ return mLoseFocusHdl;
}
void ControlImpl::UpdateListening (Link const& link)
@@ -735,10 +734,10 @@ void ControlImpl::UpdateListening (Link const& link)
mxWindow->addFocusListener (this);
}
-void SAL_CALL ControlImpl::disposing (lang::EventObject const&)
+void SAL_CALL ControlImpl::disposing (lang::EventObject const& e)
throw (uno::RuntimeException)
{
-/// mxWindow.clear ();
+ WindowImpl::disposing (e);
}
void SAL_CALL ControlImpl::focusGained (awt::FocusEvent const&)
--
1.7.0.1
|