<div class="gmail_quote">On Fri Nov 21 2014 at 10:14:19 PM Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Oh, I think i see the problem.<br>
<br>
In GetData:<br>
<br>
    user_assert(This->state != NINE_QUERY_STATE_RUNNING, D3DERR_INVALIDCALL);<br>
<br>
should be<br>
<br>
  user_assert(This->state != ... || This->state |= FRESH, D3DERR_INVALIDCALL)<br>
<br>
This will allow someone to call GetData without first having done an<br>
Issue() but... meh.</blockquote><div>Not saying your idea is wrong but <span style="font-size:13.3333330154419px">Issue was called before GetData in my case.</span></div><div>It was just called on D3DISSUE_END, with no call on D3DISSUE_BEGIN. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You could alternatively rejigger the state<br>
variables, but that seems excessive.<br>
<br>
Actually.... perhaps it's supposed to actually call ->end_query()<br>
unconditionally in ->Issue even though it hasn't called<br>
->begin_query()? That might make even more sense...<br></blockquote><div>I thought about that as well, though I thought that end_query() would require a begin_query() first (though issue does not so maybe...)</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
And then you'd remove the explicit FRESH handling in GetData since you<br>
can't get there due to the user_assert.<br>
<br></blockquote><div>I see. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  -ilia<br>
</blockquote></div>