Răsfoiți Sursa

Thread safety of Gfx !

git-svn-id: https://svn.inf.ethz.ch/svn/lecturers/a2/trunk@6749 8c9fc860-2736-0410-a75d-ab315db34111
felixf 9 ani în urmă
părinte
comite
9dbf3c0573
1 a modificat fișierele cu 4 adăugiri și 4 ștergeri
  1. 4 4
      source/GfxRegions.Mod

+ 4 - 4
source/GfxRegions.Mod

@@ -357,7 +357,7 @@ MODULE GfxRegions; (** portable *)	(* eos  *)
 	(* merge two runs of data points *)
 	PROCEDURE Merge (reg: Region; split: LONGINT);
 		VAR data: RegionData; n, N, m, M, p, tmp: LONGINT; nu, nv, ndir, mu, mv, mdir, sum, u, v, inc, nsum: INTEGER;
-	BEGIN
+	BEGIN{EXCLUSIVE}
 		data := reg.data;
 		n := 0; N := split;
 		Decode(data[n], nu, nv, ndir);
@@ -1014,7 +1014,7 @@ MODULE GfxRegions; (** portable *)	(* eos  *)
 
 	(** add rectangle to region **)
 	PROCEDURE AddRect* (reg: Region; llx, lly, urx, ury: INTEGER);
-	BEGIN
+	BEGIN{EXCLUSIVE}
 		SetToRect(RectRegion, llx, lly, urx, ury);
 		Add(reg, RectRegion)
 	END AddRect;
@@ -1080,7 +1080,7 @@ MODULE GfxRegions; (** portable *)	(* eos  *)
 
 	(** subtract rectangle from region **)
 	PROCEDURE SubtractRect* (reg: Region; llx, lly, urx, ury: INTEGER);
-	BEGIN
+	BEGIN{EXCLUSIVE}
 		SetToRect(RectRegion, llx, lly, urx, ury);
 		Subtract(reg, RectRegion)
 	END SubtractRect;
@@ -1176,7 +1176,7 @@ MODULE GfxRegions; (** portable *)	(* eos  *)
 
 	(** intersect region with rectangle **)
 	PROCEDURE IntersectRect* (reg: Region; llx, lly, urx, ury: INTEGER);
-	BEGIN
+	BEGIN{EXCLUSIVE}
 		SetToRect(RectRegion, llx, lly, urx, ury);
 		Intersect(reg, RectRegion)
 	END IntersectRect;