internal override void PaintEventEnd(ref Message msg, IntPtr handle, bool client) {
Hwnd hwnd;
hwnd = Hwnd.ObjectFromHandle(handle);
// FIXME: Pop is causing invalid stack ops sometimes; race condition?
try {
Graphics dc = (Graphics)hwnd.drawing_stack.Pop();
dc.Flush ();
dc.Dispose ();
PaintEventArgs pe = (PaintEventArgs)hwnd.drawing_stack.Pop();
pe.SetGraphics (null);
pe.Dispose ();
} catch {}
if (Caret.Visible == 1) {
ShowCaret();
Caret.Paused = false;
}
}