This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project gfxprim.git.
The branch, master has been updated discards 6d6139b6ed2cf86b481229d1e5234aecb186b81a (commit) via 017a24fe557af8dfd0f3b98796ef439db5246a84 (commit)
This update added new revisions after undoing existing revisions. That is to say, the old revision is not a strict subset of the new revision. This situation occurs when you --force push a change and generate a repository containing something like this:
* -- * -- B -- O -- O -- O (6d6139b6ed2cf86b481229d1e5234aecb186b81a) N -- N -- N (017a24fe557af8dfd0f3b98796ef439db5246a84)
When this happens we assume that you've already had alert emails for all of the O revisions, and so we here report only the revisions in the N branch from the common base, B.
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- http://repo.or.cz/w/gfxprim.git/commit/017a24fe557af8dfd0f3b98796ef439db5246...
commit 017a24fe557af8dfd0f3b98796ef439db5246a84 Author: Cyril Hrubis metan@ucw.cz Date: Sun Feb 19 20:45:11 2012 +0100
backends: SDL Fix Flip operation.
The SDL Flip takes x, y, w, h and not x, y, x, y.
diff --git a/include/backends/GP_Backend.h b/include/backends/GP_Backend.h index 4ddda59..25d6b7e 100644 --- a/include/backends/GP_Backend.h +++ b/include/backends/GP_Backend.h @@ -86,8 +86,8 @@ typedef struct GP_Backend { * If display is not buffered, this is no-op. */ void (*UpdateRect)(struct GP_Backend *self, - GP_Coord x1, GP_Coord y1, - GP_Coord x2, GP_Coord y2); + GP_Coord x0, GP_Coord y0, + GP_Coord x1, GP_Coord y1);
/* * Exits the backend. @@ -133,6 +133,7 @@ static inline void GP_BackendUpdateRect(GP_Backend *backend, { GP_TRANSFORM_POINT(backend->context, x0, y0); GP_TRANSFORM_POINT(backend->context, x1, y1); + backend->UpdateRect(backend, x0, y0, x1, y1); }
diff --git a/libs/backends/GP_SDL.c b/libs/backends/GP_SDL.c index b88b3b5..809d4b6 100644 --- a/libs/backends/GP_SDL.c +++ b/libs/backends/GP_SDL.c @@ -52,11 +52,17 @@ static void sdl_flip(struct GP_Backend *self __attribute__((unused))) }
static void sdl_update_rect(struct GP_Backend *self __attribute__((unused)), - GP_Coord x1, GP_Coord y1, GP_Coord x2, GP_Coord y2) + GP_Coord x0, GP_Coord y0, GP_Coord x1, GP_Coord y1) { SDL_mutexP(mutex); - - SDL_UpdateRect(sdl_surface, x1, y1, x2, y2); + + /* + * SDL_UpdateRect() with all x0, y0, x1 and y1 zero updates whole + * screen we avoid such behavior as it will break other backends. + */ + if (x1 != 0 && y1 != 0) + SDL_UpdateRect(sdl_surface, x0, y0, + GP_ABS(x1 - x0) + 1, GP_ABS(y1 - y0) + 1); SDL_mutexV(mutex); }
-----------------------------------------------------------------------
Summary of changes: libs/backends/GP_SDL.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
repo.or.cz automatic notification. Contact project admin jiri.bluebear.dluhos@gmail.com if you want to unsubscribe, or site admin admin@repo.or.cz if you receive no reply.