server: Restart search from the start when releasing permanent objects at exit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
0a49202109
commit
ab9ded062f
|
@ -67,11 +67,21 @@ void dump_objects(void)
|
||||||
|
|
||||||
void close_objects(void)
|
void close_objects(void)
|
||||||
{
|
{
|
||||||
struct object *obj, *obj2;
|
|
||||||
|
|
||||||
/* release the permanent objects */
|
/* release the permanent objects */
|
||||||
LIST_FOR_EACH_ENTRY_SAFE( obj, obj2, &object_list, struct object, obj_list )
|
for (;;)
|
||||||
if (obj->is_permanent) release_object( obj );
|
{
|
||||||
|
struct object *obj;
|
||||||
|
int found = 0;
|
||||||
|
|
||||||
|
LIST_FOR_EACH_ENTRY( obj, &object_list, struct object, obj_list )
|
||||||
|
{
|
||||||
|
if (!(found = obj->is_permanent)) continue;
|
||||||
|
obj->is_permanent = 0;
|
||||||
|
release_object( obj );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!found) break;
|
||||||
|
}
|
||||||
|
|
||||||
dump_objects(); /* dump any remaining objects */
|
dump_objects(); /* dump any remaining objects */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue