rpms/trackballs/devel trackballs-1.1.4-rh555877.patch, NONE, 1.1 trackballs.spec, 1.13, 1.14
Hans de Goede
jwrdegoede at fedoraproject.org
Mon Jan 18 12:26:26 UTC 2010
- Previous message: rpms/rss-glx/F-11 rss-glx-0.9.1-0.9.1.p.diff, NONE, 1.1 .cvsignore, 1.5, 1.6 rss-glx.spec, 1.34, 1.35 sources, 1.8, 1.9 rss-glx-0.9.0-0.9.0.p.diff, 1.1, NONE
- Next message: rpms/trackballs/F-12 trackballs-1.1.4-rh555877.patch, NONE, 1.1 trackballs.spec, 1.13, 1.14
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jwrdegoede
Update of /cvs/pkgs/rpms/trackballs/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv13298
Modified Files:
trackballs.spec
Added Files:
trackballs-1.1.4-rh555877.patch
Log Message:
* Mon Jan 18 2010 Hans de Goede <hdegoede at redhat.com> 1.1.4-11
- Fix a crash when trying to change to an unsupported resolution (#555877)
- Add widescreen monitor resolutions to the monitor resolution list
trackballs-1.1.4-rh555877.patch:
src/settingsMode.cc | 54 +++++++++++++++++++++++++++++++++++++++----
trackballs-1.1.4/src/mmad.cc | 13 +++++++++-
2 files changed, 61 insertions(+), 6 deletions(-)
--- NEW FILE trackballs-1.1.4-rh555877.patch ---
--- trackballs-1.1.4/src/settingsMode.cc 2007-04-07 15:18:40.000000000 +0200
+++ trackballs.new/src/settingsMode.cc 2010-01-18 02:52:57.000000000 +0100
@@ -38,7 +38,7 @@ using namespace std;
SettingsMode *SettingsMode::settingsMode;
/* Not properly abstracted, part of global stuff in mmad.cc */
-extern int screenResolutions[5][2],nScreenResolutions;
+extern int screenResolutions[11][2],nScreenResolutions;
extern void changeScreenResolution();
void SettingsMode::init() {
@@ -61,17 +61,23 @@
void SettingsMode::deactivated() {
Settings *settings=Settings::settings;
- settings->save();
- regenerateSphereDisplaylists(); /* In case we have changed detail level */
-
/* Switch back to the last verified resolution */
if(settings->resolution != restoreResolution || settings->colorDepth != restoreColorDepth) {
settings->resolution = restoreResolution;
settings->colorDepth = restoreColorDepth;
+ fprintf(stderr,
+ "New video mode not confirmed, restoring old mode\n");
changeScreenResolution();
+ if (!screen) {
+ fprintf(stderr, "Error failed to restore video mode!\n");
+ exit(1);
+ }
}
+ settings->save();
+ regenerateSphereDisplaylists(); /* In case we have changed detail level */
}
+
void SettingsMode::display() {
int w,h,i;
int menucount;
@@ -233,7 +239,13 @@
settings->colorDepth = restoreColorDepth;
resolution=restoreResolution;
colorDepth=restoreColorDepth;
+ fprintf(stderr,
+ "New video mode not confirmed, restoring old mode\n");
changeScreenResolution();
+ if (!screen) {
+ fprintf(stderr, "Error failed to restore video mode!\n");
+ exit(1);
+ }
}
}
}
@@ -266,6 +278,21 @@
settings->resolution=resolution;
settings->colorDepth=colorDepth;
changeScreenResolution();
+ if (!screen) {
+ /* Failed miserably */
+ fprintf(stderr,
+ "Error failed to set new video mode, restoring old mode\n");
+ settings->resolution = restoreResolution;
+ settings->colorDepth = restoreColorDepth;
+ resolution=restoreResolution;
+ colorDepth=restoreColorDepth;
+ changeScreenResolution();
+ if (!screen) {
+ fprintf(stderr, "Error failed to restore video mode!\n");
+ exit(1);
+ }
+ break;
+ }
testingResolution=10.0;
break;
case MENU_RESOLUTION_OK:
@@ -279,13 +306,30 @@
settings->colorDepth = restoreColorDepth;
resolution=restoreResolution;
colorDepth=restoreColorDepth;
+ fprintf(stderr,
+ "New video mode cancelled, restoring old mode\n");
changeScreenResolution();
+ if (!screen) {
+ fprintf(stderr, "Error failed to restore video mode!\n");
+ exit(1);
+ }
break;
case MENU_WINDOWED:
Settings::settings->is_windowed = Settings::settings->is_windowed ? 0 : 1;
- changeScreenResolution();
+ changeScreenResolution();
+ if (!screen) {
+ /* Failed miserably */
+ fprintf(stderr,
+ "Error failed to switch fullscreen <-> windowed\n");
+ Settings::settings->is_windowed = Settings::settings->is_windowed ? 0 : 1;
+ changeScreenResolution();
+ if (!screen) {
+ fprintf(stderr, "Error failed to restore old mode!\n");
+ exit(1);
+ }
+ }
break;
case MENU_GFX_DETAILS:
// Change level of graphic details */
--- trackballs-1.1.4/src/mmad.cc~ 2007-05-17 15:24:06.000000000 +0200
+++ trackballs-1.1.4/src/mmad.cc 2010-01-18 03:12:09.000000000 +0100
@@ -64,7 +64,7 @@ int silent=0;
int debug_joystick,repair_joystick;
char effectiveShareDir[256];
-int screenResolutions[5][2] = {{640,480}, {800,600}, {1024,768}, {1280,1024}, {1600,1200}}, nScreenResolutions=5;
+int screenResolutions[11][2] = {{640,480}, {800,600}, {1024,768}, {1280,1024}, {1600,1200}, {1280,800}, {1366,768}, {1440,900}, {1680,1050}, {1920,1080}, {1920,1200}}, nScreenResolutions=11;
void changeScreenResolution() {
screenWidth = screenResolutions[Settings::settings->resolution][0];
@@ -492,6 +492,17 @@ void innerMain(void *closure,int argc,ch
else if(event.key.keysym.sym == 'f' && SDL_GetModState() & KMOD_CTRL) {
Settings::settings->is_windowed = Settings::settings->is_windowed ? 0 : 1;
changeScreenResolution();
+ if (!screen) {
+ /* Failed miserably */
+ fprintf(stderr,
+ "Error failed to switch fullscreen <-> windowed\n");
+ Settings::settings->is_windowed = Settings::settings->is_windowed ? 0 : 1;
+ changeScreenResolution();
+ if (!screen) {
+ fprintf(stderr, "Error failed to restore old mode!\n");
+ exit(1);
+ }
+ }
/* Flush all events that occured while switching screen
resolution */
while(SDL_PollEvent(&event)) {}
Index: trackballs.spec
===================================================================
RCS file: /cvs/pkgs/rpms/trackballs/devel/trackballs.spec,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -p -r1.13 -r1.14
--- trackballs.spec 27 Jul 2009 06:13:10 -0000 1.13
+++ trackballs.spec 18 Jan 2010 12:26:25 -0000 1.14
@@ -1,6 +1,6 @@
Name: trackballs
Version: 1.1.4
-Release: 10%{?dist}
+Release: 11%{?dist}
Summary: Steer a marble ball through a labyrinth
Group: Amusements/Games
License: GPLv2+
@@ -9,6 +9,7 @@ Source0: http://downloads.sourcef
Source1: %{name}.desktop
Patch0: trackballs-1.1.4-destdir.patch
Patch1: trackballs-1.1.4-black-vertices-fix.patch
+Patch2: trackballs-1.1.4-rh555877.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: guile-devel libGLU-devel zlib-devel desktop-file-utils
BuildRequires: SDL_ttf-devel SDL_mixer-devel SDL_image-devel
@@ -24,6 +25,7 @@ quality soundeffects and background musi
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
iconv -f ISO-8859-1 -t UTF8 share/%{name}.6 > share/%{name}.6.tmp
mv share/%{name}.6.tmp share/%{name}.6
# the install script does a chgrp to 'games', this doesn't work while
@@ -81,6 +83,10 @@ fi
%changelog
+* Mon Jan 18 2010 Hans de Goede <hdegoede at redhat.com> 1.1.4-11
+- Fix a crash when trying to change to an unsupported resolution (#555877)
+- Add widescreen monitor resolutions to the monitor resolution list
+
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.1.4-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
- Previous message: rpms/rss-glx/F-11 rss-glx-0.9.1-0.9.1.p.diff, NONE, 1.1 .cvsignore, 1.5, 1.6 rss-glx.spec, 1.34, 1.35 sources, 1.8, 1.9 rss-glx-0.9.0-0.9.0.p.diff, 1.1, NONE
- Next message: rpms/trackballs/F-12 trackballs-1.1.4-rh555877.patch, NONE, 1.1 trackballs.spec, 1.13, 1.14
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list