ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/RtraceSimulManager.cpp
(Generate patch)

Comparing ray/src/rt/RtraceSimulManager.cpp (file contents):
Revision 2.20 by greg, Thu Nov 7 18:37:11 2024 UTC vs.
Revision 2.21 by greg, Sat Nov 9 00:10:49 2024 UTC

# Line 288 | Line 288 | RtraceSimulManager::UpdateMode()
288  
289          int     misMatch = (rtFlags ^ curFlags) & RTmask;
290                                  // updates based on toggled flags
291 <        if (misMatch & RTtraceSources) {
291 >        if (((misMatch & RTtraceSources) != 0) & (nsources > 0)) {
292 >                int     nt = NThreads();
293 >                if (nt > 1) {
294 >                        if (FlushQueue() < 0)
295 >                                return false;
296 >                        SetThreadCount(1);
297 >                }
298                  int     sn = nsources;
299                  if (rtFlags & RTtraceSources) {
300                          srcFollowed.NewBitMap(nsources);
# Line 304 | Line 310 | RtraceSimulManager::UpdateMode()
310                                          source[sn].sflags &= ~SFOLLOW;
311                          srcFollowed.NewBitMap(0);
312                  }
313 +                if (nt > 1) SetThreadCount(nt);
314          }
315          if (misMatch & RTdoFIFO && FlushQueue() < 0)
316                  return false;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines