+ vout_window_t *wnd = (vout_window_t *)obj;
+ void **used, *val = wnd->sys;
+ size_t n = 0;
+
+ /* Remove this drawable from the list of busy ones */
+ vlc_mutex_lock (&serializer);
+ used = var_GetAddress (obj->p_libvlc, "hwnd-in-use");
+ assert (used);
+ while (used[n] != val)
+ {
+ assert (used[n]);
+ n++;
+ }
+ do
+ used[n] = used[n + 1];
+ while (used[++n] != NULL);
+
+ if (n == 0)
+ var_SetAddress (obj->p_libvlc, "hwnd-in-use", NULL);
+ vlc_mutex_unlock (&serializer);
+
+ if (n == 0)
+ free (used);
+ /* Variables are reference-counted... */
+ var_Destroy (obj->p_libvlc, "hwnd-in-use");