src/SDL_error_c.h
author Sam Lantinga <slouken@libsdl.org>
Mon, 22 Jun 2015 23:36:06 -0700
changeset 9776 952ff8a5076f
parent 9619 b94b6d0bff0f
child 9998 f67cf37e9cd4
permissions -rw-r--r--
Fixed bug 3030 - SDL_RecreateWindow fails to restore title, icon, etc.

Adam M.

It loses the title and icon when window recreation fails. For instance, this may happen when trying to create an OpenGL ES window on a system that doesn't support it. But at that point, the title and icon have already been lost.
slouken@0
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@9619
     3
  Copyright (C) 1997-2015 Sam Lantinga <slouken@libsdl.org>
slouken@0
     4
slouken@5535
     5
  This software is provided 'as-is', without any express or implied
slouken@5535
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     7
  arising from the use of this software.
slouken@0
     8
slouken@5535
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
    10
  including commercial applications, and to alter it and redistribute it
slouken@5535
    11
  freely, subject to the following restrictions:
slouken@0
    12
slouken@5535
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@5535
    14
     claim that you wrote the original software. If you use this software
slouken@5535
    15
     in a product, an acknowledgment in the product documentation would be
slouken@5535
    16
     appreciated but is not required.
slouken@5535
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@5535
    18
     misrepresented as being the original software.
slouken@5535
    19
  3. This notice may not be removed or altered from any source distribution.
slouken@0
    20
*/
icculus@8093
    21
#include "./SDL_internal.h"
slouken@0
    22
slouken@0
    23
/* This file defines a structure that carries language-independent
slouken@0
    24
   error messages
slouken@0
    25
*/
slouken@0
    26
slouken@0
    27
#ifndef _SDL_error_c_h
slouken@0
    28
#define _SDL_error_c_h
slouken@0
    29
slouken@7191
    30
#define ERR_MAX_STRLEN  128
slouken@7191
    31
#define ERR_MAX_ARGS    5
slouken@0
    32
slouken@1895
    33
typedef struct SDL_error
slouken@1895
    34
{
slouken@1895
    35
    /* This is a numeric value corresponding to the current error */
slouken@1895
    36
    int error;
slouken@0
    37
slouken@1895
    38
    /* This is a key used to index into a language hashtable containing
slouken@1895
    39
       internationalized versions of the SDL error messages.  If the key
slouken@1895
    40
       is not in the hashtable, or no hashtable is available, the key is
slouken@1895
    41
       used directly as an error message format string.
slouken@1895
    42
     */
slouken@1895
    43
    char key[ERR_MAX_STRLEN];
slouken@0
    44
slouken@1895
    45
    /* These are the arguments for the error functions */
slouken@1895
    46
    int argc;
slouken@1895
    47
    union
slouken@1895
    48
    {
slouken@1895
    49
        void *value_ptr;
slouken@1895
    50
#if 0                           /* What is a character anyway?  (UNICODE issues) */
slouken@1895
    51
        unsigned char value_c;
slouken@0
    52
#endif
slouken@1895
    53
        int value_i;
slouken@1895
    54
        double value_f;
slouken@1895
    55
        char buf[ERR_MAX_STRLEN];
slouken@1895
    56
    } args[ERR_MAX_ARGS];
slouken@0
    57
} SDL_error;
slouken@0
    58
slouken@6044
    59
/* Defined in SDL_thread.c */
slouken@6044
    60
extern SDL_error *SDL_GetErrBuf(void);
slouken@6044
    61
slouken@0
    62
#endif /* _SDL_error_c_h */
slouken@4472
    63
slouken@1895
    64
/* vi: set ts=4 sw=4 expandtab: */