Access violation with SDL_RenderText

Bradley Smith digitalmars-com at
Sun Oct 29 01:16:49 PDT 2006

mike wrote:

> I'm doing that already, and - oddly enough - this seems to be the problem.
> ' SDL_RenderText("text");
> works.
> ' SDL_RenderText(toStringz("text"));
> crashes after about two minutes, when I'm rendering text every frame. 
> Also without toStringz I have no increase in memory usage, while with 
> toStringz I have. Anyway, I'll post a solution once I find it.

Perhaps you should buffer the text passed to SDL? Something like the 

// Do this once in a constructor or globally
char* renderedTextBuffer = new char[1024];

// Do this to render text
if (value.length > renderedTextBuffer.length) {
   renderedTextBuffer = new char[value.length];
renderedTextBuffer[0 .. value.length] = value;
renderedTextBuffer[value.length] = 0;

This is effectively what toStringz() does, but it won't allocate memory 
with every render.


More information about the Digitalmars-d-learn mailing list