equal
deleted
inserted
replaced
39 |
39 |
40 namespace WebCore { |
40 namespace WebCore { |
41 |
41 |
42 using namespace EventNames; |
42 using namespace EventNames; |
43 |
43 |
|
44 static HashMap<const Widget*, RenderWidget*>* staticWidgetRendererMap; |
|
45 |
44 static HashMap<const Widget*, RenderWidget*>& widgetRendererMap() |
46 static HashMap<const Widget*, RenderWidget*>& widgetRendererMap() |
45 { |
47 { |
46 static HashMap<const Widget*, RenderWidget*>* staticWidgetRendererMap = new HashMap<const Widget*, RenderWidget*>; |
48 if( !staticWidgetRendererMap ) { |
|
49 staticWidgetRendererMap = new HashMap<const Widget*, RenderWidget*>; |
|
50 } |
47 return *staticWidgetRendererMap; |
51 return *staticWidgetRendererMap; |
48 } |
52 } |
|
53 |
|
54 struct renderMapCleaner { |
|
55 ~renderMapCleaner() { |
|
56 if( staticWidgetRendererMap ) { |
|
57 staticWidgetRendererMap->clear(); |
|
58 delete staticWidgetRendererMap; |
|
59 staticWidgetRendererMap = 0; |
|
60 } |
|
61 } |
|
62 }; |
|
63 struct renderMapCleaner renderMapClean; |
49 |
64 |
50 RenderWidget::RenderWidget(Node* node) |
65 RenderWidget::RenderWidget(Node* node) |
51 : RenderReplaced(node) |
66 : RenderReplaced(node) |
52 , m_widget(0) |
67 , m_widget(0) |
53 , m_refCount(0) |
68 , m_refCount(0) |