merge fallout: Patched to compile, fixed some compiler warnings, etc.

--HG--
extra : amend_source : db5107c02c210087f25dea7f0407d09be10e24ba
diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index 6af7d10..0c098a7 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -2858,6 +2858,7 @@
         }
     }
 
+    SDL_zero(r);
     SDL_RenderGetViewport(renderer, &r);
     real_dstrect.x = 0.0f;
     real_dstrect.y = 0.0f;
@@ -2956,6 +2957,7 @@
         real_dstrect = *dstrect;
     } else {
         SDL_Rect r;
+        SDL_zero(r);
         SDL_RenderGetViewport(renderer, &r);
         real_dstrect.x = 0.0f;
         real_dstrect.y = 0.0f;
diff --git a/src/render/direct3d/SDL_render_d3d.c b/src/render/direct3d/SDL_render_d3d.c
index 9d000cc..04cfcef 100644
--- a/src/render/direct3d/SDL_render_d3d.c
+++ b/src/render/direct3d/SDL_render_d3d.c
@@ -1306,7 +1306,7 @@
                     IDirect3DDevice9_DrawPrimitive(data->device, D3DPT_POINTLIST, first / sizeof (Vertex), count);
                 } else {
                     const Vertex *verts = (Vertex *) (((Uint8 *) vertices) + first);
-                    IDirect3DDevice9_DrawPrimitiveUP(data->device, D3DPT_POINTLIST, count, vertices, sizeof (Vertex));
+                    IDirect3DDevice9_DrawPrimitiveUP(data->device, D3DPT_POINTLIST, count, verts, sizeof (Vertex));
                 }
                 break;
             }
diff --git a/src/render/metal/SDL_render_metal.m b/src/render/metal/SDL_render_metal.m
index d8f5b43..10640c6 100644
--- a/src/render/metal/SDL_render_metal.m
+++ b/src/render/metal/SDL_render_metal.m
@@ -553,7 +553,7 @@
         mtltexdesc.height = (texture->h + 1) / 2;
     }
 
-    if (yuv || nc12) {
+    if (yuv || nv12) {
         mtltexture_uv = [data.mtldevice newTextureWithDescriptor:mtltexdesc];
         if (mtltexture_uv == nil) {
 #if !__has_feature(objc_arc)
diff --git a/src/render/opengles2/SDL_render_gles2.c b/src/render/opengles2/SDL_render_gles2.c
index fe2ce1a..43bee7a 100644
--- a/src/render/opengles2/SDL_render_gles2.c
+++ b/src/render/opengles2/SDL_render_gles2.c
@@ -1297,11 +1297,11 @@
                 if (SetDrawState(data, cmd, GLES2_IMAGESOURCE_SOLID) == 0) {
                     if (count > 2 && (verts[0] == verts[(count-1)*2]) && (verts[1] == verts[(count*2)-1])) {
                         /* GL_LINE_LOOP takes care of the final segment */
-                        data->glDrawArrays(GL_LINE_LOOP, 0, count - 1);
+                        data->glDrawArrays(GL_LINE_LOOP, 0, (GLsizei) (count - 1));
                     } else {
-                        data->glDrawArrays(GL_LINE_STRIP, 0, count);
+                        data->glDrawArrays(GL_LINE_STRIP, 0, (GLsizei) count);
                         /* We need to close the endpoint of the line */
-                        data->glDrawArrays(GL_POINTS, count - 1, 1);
+                        data->glDrawArrays(GL_POINTS, (GLsizei) (count - 1), 1);
                     }
                 }
                 break;
@@ -1312,7 +1312,7 @@
                 size_t offset = 0;
                 if (SetDrawState(data, cmd, GLES2_IMAGESOURCE_SOLID) == 0) {
                     for (i = 0; i < count; ++i, offset += 4) {
-                        data->glDrawArrays(GL_TRIANGLE_STRIP, offset, 4);
+                        data->glDrawArrays(GL_TRIANGLE_STRIP, (GLsizei) offset, 4);
                     }
                 }
                 break;
diff --git a/src/video/windows/SDL_windowsevents.c b/src/video/windows/SDL_windowsevents.c
index 59c11bf..77d2f7f 100644
--- a/src/video/windows/SDL_windowsevents.c
+++ b/src/video/windows/SDL_windowsevents.c
@@ -962,7 +962,6 @@
         {
             UINT i;
             HDROP drop = (HDROP) wParam;
-            SDL_bool isstack;
             UINT count = DragQueryFile(drop, 0xFFFFFFFF, NULL, 0);
             for (i = 0; i < count; ++i) {
                 SDL_bool isstack;
diff --git a/src/video/windows/SDL_windowsmouse.c b/src/video/windows/SDL_windowsmouse.c
index 3dc7e79..b7def42 100644
--- a/src/video/windows/SDL_windowsmouse.c
+++ b/src/video/windows/SDL_windowsmouse.c
@@ -113,7 +113,7 @@
     bmh.bV4BlueMask  = 0x000000FF;
 
     maskbitslen = ((surface->w + (pad - (surface->w % pad))) / 8) * surface->h;
-    maskbits = SDL_small_alloc(Uint8,maskbitslen);
+    maskbits = SDL_small_alloc(Uint8, maskbitslen, &isstack);
     if (maskbits == NULL) {
         SDL_OutOfMemory();
         return NULL;