internal override void KillTimer(Timer timer) {
XEventQueue queue = (XEventQueue) MessageQueues [timer.thread];
if (queue == null) {
// This isn't really an error, MS doesn't start the timer if
// it has no assosciated queue. In this case, remove the timer
// from the list of unattached timers (if it was enabled).
lock (unattached_timer_list) {
if (unattached_timer_list.Contains (timer))
unattached_timer_list.Remove (timer);
}
return;
}
queue.timer_list.Remove (timer);
}