diff --git a/3-mid/opengl/source/opengl-tasks.adb b/3-mid/opengl/source/opengl-tasks.adb index f819231..7898777 100644 --- a/3-mid/opengl/source/opengl-tasks.adb +++ b/3-mid/opengl/source/opengl-tasks.adb @@ -1,22 +1,34 @@ +with + openGL.Errors; + + package body openGL.Tasks is + use openGL.Errors; + procedure check is - use Ada, - ada.Task_Identification; - - calling_Task : constant Task_Id := Task_Identification.current_Task; - - -- TODO: Use the assert instead of the exception for performance. - -- pragma assert (Renderer_Task = calling_Task, - -- "Calling task '" & Task_Identification.Image (current_Task) & "'" - -- & " /= Renderer task '" & Task_Identification.Image (Renderer_Task) & "'"); begin - if Renderer_Task /= calling_Task + if Debugging then - raise Error with "Calling task '" & Task_Identification.Image (current_Task) & "'" - & " /= Renderer task '" & Task_Identification.Image (Renderer_Task) & "'"; + declare + use Ada, + ada.Task_Identification; + + calling_Task : constant Task_Id := Task_Identification.current_Task; + + -- TODO: Use the assert instead of the exception for performance. + -- pragma assert (Renderer_Task = calling_Task, + -- "Calling task '" & Task_Identification.Image (current_Task) & "'" + -- & " /= Renderer task '" & Task_Identification.Image (Renderer_Task) & "'"); + begin + if Renderer_Task /= calling_Task + then + raise Error with "Calling task '" & Task_Identification.Image (current_Task) & "'" + & " /= Renderer task '" & Task_Identification.Image (Renderer_Task) & "'"; + end if; + end; end if; end check; @@ -25,7 +37,11 @@ is function check return Boolean is begin - check; + if Debugging + then + check; + end if; + return True; end check;