MCPcopy Create free account
hub / github.com/TranslucentTB/TranslucentTB / RemoveHandlers

Method RemoveHandlers

Xaml/RelativeAncestor.cpp:101–144  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

99 }
100
101 void RelativeAncestor::RemoveHandlers(const wux::FrameworkElement &element) noexcept
102 {
103 for (auto it = s_UnloadedTokenList.begin(); it != s_UnloadedTokenList.end();)
104 {
105 if (const auto fe = it->first.get())
106 {
107 if (fe == element)
108 {
109 fe.Unloaded(it->second);
110
111 it = s_UnloadedTokenList.erase(it);
112 }
113 else
114 {
115 ++it;
116 }
117 }
118 else
119 {
120 it = s_UnloadedTokenList.erase(it);
121 }
122 }
123
124 for (auto it = s_LoadedTokenList.begin(); it != s_LoadedTokenList.end();)
125 {
126 if (const auto fe = it->first.get())
127 {
128 if (fe == element)
129 {
130 fe.Loaded(it->second);
131
132 it = s_LoadedTokenList.erase(it);
133 }
134 else
135 {
136 ++it;
137 }
138 }
139 else
140 {
141 it = s_LoadedTokenList.erase(it);
142 }
143 }
144 }
145}

Callers

nothing calls this directly

Calls 3

getMethod · 0.80
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected