Re: Infinite loop in D3D_GL_draw patch
Ove Kaaven <[email protected]> Thu, 19 Aug 2004 18:36:37 +0200
| Newsgroups | gmane.comp.emulators.winex.devel |
|---|---|
| Organization | TransGaming Technologies Inc |
| Message-ID | <1092933397.29588.220.camel@renegade> |
ons, 18.08.2004 kl. 19.35 skrev Marius Grigoriu:
> My patch adds a new goto label to preserve the modified value of
> feedback_size. I also removed the memory allocation before the goto
> because it is unnecessary since it is done anyway just before TRACE(start)
That's not how it was meant to work, though (even though the way it's
meant to work was incorrectly implemented). I currently use a simple fix
for this problem, which is to change
render_start:
if (intercept || (calc_rect && priv->callbacks.D3dRenderArea))
to
render_start:
if ((!feedback) && (intercept || (calc_rect && priv->callbacks.D3dRenderArea)))
(I generally try to avoid goto-ing into "if" statements, it kind of
feels very wrong and ugly to me... much more than using goto in the
first place.)
This was done as part of a larger patch, though, which will probably not
be merged in anytime soon, since internal Direct3D improvements are
currently not being merged to the public CVS.
But you can of course test that this change works and submit it as a
patch here, if you still want this fix in the public CVS.