Mercurial > sdl-ios-xcode
view Makefile.in @ 4393:9afe12fb4c41 SDL-1.2
Fixed bug #901
Tim Angus 2009-12-11 11:45:46 PST
Disable mouse event generation when state is not SDL_APPMOUSEFOCUS
If a Windows SDL application is minimised by using alt-tab, SDL_APPMOUSEFOCUS
is lost as part of the minimisation. Unfortunately, the directx driver doesn't
pay any attention to this state when generating mouse button events, so
clicking on the Desktop can cause mouse clicks in the SDL application, while
it's still minimised. The attached patch fixes this. It looks much more
complicated than it actually is due to indentation; here it is ignoring
whitespace:
tma@abraxas:~/sources/SDL-1.2-svn$ svn diff -x -b
Index: src/video/windx5/SDL_dx5events.c
===================================================================
--- src/video/windx5/SDL_dx5events.c (revision 5376)
+++ src/video/windx5/SDL_dx5events.c (working copy)
@@ -374,10 +374,9 @@
if ( !(SDL_GetAppState() & SDL_APPMOUSEFOCUS) ) {
mouse_lost = 1;
ClipCursor(NULL);
- }
-
+ } else {
/* If the mouse was lost, regain some sense of mouse state */
- if ( mouse_lost && (SDL_GetAppState() & SDL_APPMOUSEFOCUS) ) {
+ if ( mouse_lost ) {
POINT mouse_pos;
Uint8 old_state;
Uint8 new_state;
@@ -548,6 +547,7 @@
if ( xrel || yrel ) {
post_mouse_motion(1, xrel, yrel);
}
+ }
}
/* The main Win32 event handler */
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 14 Dec 2009 22:41:31 +0000 |
parents | f63ca354c35e |
children |
line wrap: on
line source
# Makefile to build and install the SDL library top_builddir = . srcdir = @srcdir@ objects = build depend = build-deps prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ includedir = @includedir@ datarootdir = @datarootdir@ datadir = @datadir@ mandir = @mandir@ auxdir = @ac_aux_dir@ distpath = $(srcdir)/.. distdir = SDL-@SDL_VERSION@ distfile = $(distdir).tar.gz @SET_MAKE@ SHELL = @SHELL@ CC = @CC@ INCLUDE = @INCLUDE@ CFLAGS = @BUILD_CFLAGS@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ LDFLAGS = @BUILD_LDFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ LIBTOOL = @LIBTOOL@ INSTALL = @INSTALL@ NASM = @NASM@ @NASMFLAGS@ AR = @AR@ RANLIB = @RANLIB@ WINDRES = @WINDRES@ TARGET = libSDL.la SOURCES = @SOURCES@ OBJECTS = @OBJECTS@ SDLMAIN_TARGET = libSDLmain.a SDLMAIN_SOURCES = @SDLMAIN_SOURCES@ SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@ DIST = acinclude autogen.sh Borland.html Borland.zip BUGS build-scripts configure configure.in COPYING CREDITS CWprojects.sea.bin docs docs.html include INSTALL Makefile.dc Makefile.minimal Makefile.in MPWmake.sea.bin README* sdl-config.in sdl.m4 sdl.pc.in SDL.qpg.in SDL.spec SDL.spec.in src test TODO VisualCE.zip VisualC.html VisualC.zip Watcom-OS2.zip Watcom-Win32.zip symbian.zip WhatsNew Xcode.tar.gz HDRS = SDL.h SDL_active.h SDL_audio.h SDL_byteorder.h SDL_cdrom.h SDL_cpuinfo.h SDL_endian.h SDL_error.h SDL_events.h SDL_getenv.h SDL_joystick.h SDL_keyboard.h SDL_keysym.h SDL_loadso.h SDL_main.h SDL_mouse.h SDL_mutex.h SDL_name.h SDL_opengl.h SDL_platform.h SDL_quit.h SDL_rwops.h SDL_stdinc.h SDL_syswm.h SDL_thread.h SDL_timer.h SDL_types.h SDL_version.h SDL_video.h begin_code.h close_code.h LT_AGE = @LT_AGE@ LT_CURRENT = @LT_CURRENT@ LT_RELEASE = @LT_RELEASE@ LT_REVISION = @LT_REVISION@ LT_LDFLAGS = -no-undefined -rpath $(DESTDIR)$(libdir) -release $(LT_RELEASE) -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) all: $(srcdir)/configure Makefile $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(srcdir)/configure: $(srcdir)/configure.in @echo "Warning, configure.in is out of date" #(cd $(srcdir) && sh autogen.sh && sh configure) @sleep 3 Makefile: $(srcdir)/Makefile.in $(SHELL) config.status $@ $(objects): $(SHELL) $(auxdir)/mkinstalldirs $@ .PHONY: all depend install install-bin install-hdrs install-lib install-data install-man uninstall uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-man clean distclean dist depend: @SOURCES="$(SOURCES)" INCLUDE="$(INCLUDE)" output="$(depend)" \ $(SHELL) $(auxdir)/makedep.sh @for src in $(SDLMAIN_SOURCES); do \ obj=`echo $$src | sed -e 's|.*/||' -e 's|\.[^\.]*$$|.o|'`; \ echo "\$$(objects)/$$obj: $$src" >>$(depend); \ echo " \$$(CC) \$$(CFLAGS) \$$(EXTRA_CFLAGS) -c $$src -o \$$@" >>$(depend); \ done include $(depend) $(objects)/$(TARGET): $(OBJECTS) $(LIBTOOL) --mode=link $(CC) -o $@ $(OBJECTS) $(LDFLAGS) $(EXTRA_LDFLAGS) $(LT_LDFLAGS) $(objects)/$(SDLMAIN_TARGET): $(SDLMAIN_OBJECTS) $(AR) cru $@ $(SDLMAIN_OBJECTS) $(RANLIB) $@ install: all install-bin install-hdrs install-lib install-data install-man install-bin: $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir) $(INSTALL) -m 755 sdl-config $(DESTDIR)$(bindir)/sdl-config install-hdrs: $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL for file in $(HDRS); do \ $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL/$$file; \ done $(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL/SDL_config.h install-lib: $(objects) $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir) $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(TARGET) $(DESTDIR)$(libdir)/$(TARGET) $(INSTALL) -m 644 $(objects)/$(SDLMAIN_TARGET) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) $(RANLIB) $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) install-data: $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal $(INSTALL) -m 644 $(srcdir)/sdl.m4 $(DESTDIR)$(datadir)/aclocal/sdl.m4 $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig $(INSTALL) -m 644 sdl.pc $(DESTDIR)$(libdir)/pkgconfig install-man: $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(mandir)/man3 for src in $(srcdir)/docs/man3/*.3; do \ file=`echo $$src | sed -e 's|^.*/||'`; \ $(INSTALL) -m 644 $$src $(DESTDIR)$(mandir)/man3/$$file; \ done uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-man uninstall-bin: rm -f $(DESTDIR)$(bindir)/sdl-config uninstall-hdrs: for file in $(HDRS); do \ rm -f $(DESTDIR)$(includedir)/SDL/$$file; \ done rm -f $(DESTDIR)$(includedir)/SDL/SDL_config.h -rmdir $(DESTDIR)$(includedir)/SDL uninstall-lib: $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(TARGET) rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) uninstall-data: rm -f $(DESTDIR)$(datadir)/aclocal/sdl.m4 rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl.pc uninstall-man: for src in $(srcdir)/docs/man3/*.3; do \ file=`echo $$src | sed -e 's|^.*/||'`; \ rm -f $(DESTDIR)$(mandir)/man3/$$file; \ done clean: rm -rf $(objects) if test -f test/Makefile; then (cd test; $(MAKE) $@); fi distclean: clean rm -f Makefile include/SDL_config.h sdl-config rm -f SDL.qpg rm -f config.status config.cache config.log libtool $(depend) rm -rf $(srcdir)/autom4te* rm -rf $(srcdir)/test/autom4te* find $(srcdir) \( \ -name '*~' -o \ -name '*.bak' -o \ -name '*.old' -o \ -name '*.rej' -o \ -name '*.orig' -o \ -name '.#*' \) \ -exec rm -f {} \; cp $(srcdir)/include/SDL_config.h.default $(srcdir)/include/SDL_config.h if test -f test/Makefile; then (cd test; $(MAKE) $@); fi dist $(distfile): $(SHELL) $(auxdir)/mkinstalldirs $(distdir) tar cf - $(DIST) | (cd $(distdir); tar xf -) cp $(distdir)/include/SDL_config.h.default $(distdir)/include/SDL_config.h rm -rf `find $(distdir) -name .svn` rm -rf $(distdir)/test/autom4te* find $(distdir) \( \ -name '*~' -o \ -name '*.bak' -o \ -name '*.old' -o \ -name '*.rej' -o \ -name '*.orig' -o \ -name '.#*' \) \ -exec rm -f {} \; if test -f $(distdir)/test/Makefile; then (cd $(distdir)/test && make distclean); fi tar cvf - $(distdir) | gzip --best >$(distfile) rm -rf $(distdir) rpm: $(distfile) rpmbuild -ta $? # Create a SVN snapshot that people can run update on snapshot: svn co http://svn.libsdl.org/branches/SDL-1.2 (cd SDL-1.2 && ./autogen.sh && rm -rf autom4te.cache) cp SDL-1.2/include/SDL_config.h.default SDL-1.2/include/SDL_config.h tar zcf $(HOME)/SDL-1.2.tar.gz SDL-1.2 rm -f $(HOME)/SDL-1.2.zip zip -r $(HOME)/SDL-1.2.zip SDL-1.2 rm -rf SDL-1.2