From 2a404fd64e487175402f6fb3e3d9caff6b205aaf Mon Sep 17 00:00:00 2001 From: mcmartin Date: Wed, 2 Oct 2002 07:39:31 +0000 Subject: [PATCH] Fixed some lockup bugs (load/save, comm) git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@94 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/sc2code/comm.c | 4 +++- sc2/src/sc2code/sis.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/sc2/src/sc2code/comm.c b/sc2/src/sc2code/comm.c index ad81425ea..e52961945 100644 --- a/sc2/src/sc2code/comm.c +++ b/sc2/src/sc2code/comm.c @@ -1381,7 +1381,9 @@ DoCommunication (INPUT_STATE InputState, PENCOUNTER_STATE pES) if (pES->AnimTask) { - Task_SetState (pES->AnimTask, TASK_EXIT); + ClearSemaphore (GraphicsSem); + ConcludeTask (pES->AnimTask); + SetSemaphore (GraphicsSem); pES->AnimTask = 0; } CommData.AlienTransitionDesc.AnimFlags &= ~(TALK_INTRO | TALK_DONE); diff --git a/sc2/src/sc2code/sis.c b/sc2/src/sc2code/sis.c index 622e7b5ab..0e9eab165 100644 --- a/sc2/src/sc2code/sis.c +++ b/sc2/src/sc2code/sis.c @@ -1052,7 +1052,9 @@ SetFlashRect (PRECT pRect, FRAME f) flash_rect.extent.width = 0; if (flash_task) { + ClearSemaphore (GraphicsSem); ConcludeTask (flash_task); + SetSemaphore (GraphicsSem); } } else