SDL_ttf works Blended but fails Solid?

I’m attempting to call TTF_RenderText_Solid since it apparently will draw my text transparently on my screen, but when I call it I get an unhandled exception. I can use the same code I have but call the “Blended” function with no problems. Is there something that is really that different between these two functions I may be missing?

This fails

Code:

void
render_text(const TTF_Font *font, SDL_Surface *screen, const double& x,
const double& y, const char *text)
{
SDL_Color color = {0, 0, 0};
SDL_Surface message = TTF_RenderText_Solid(const_cast<TTF_Font>(font), text, color);
glRasterPos2i(x, y);
glDrawPixels(message->w, message->h, GL_RGB, GL_UNSIGNED_BYTE, message->pixels);

This passes?

Code:

void
render_text(const TTF_Font *font, SDL_Surface *screen, const double& x,
const double& y, const char *text)
{
SDL_Color color = {0, 0, 0};
SDL_Surface message = TTF_RenderText_Blended(const_cast<TTF_Font>(font), text, color);
glRasterPos2i(x, y);
glDrawPixels(message->w, message->h, GL_RGB, GL_UNSIGNED_BYTE, message->pixels);

The only difference is TTF_RenderText_Blended vs. _Solid ???

Not sure how to exactly explain the exception but looks like a threading issue generating an unhandled exception.

T