Graf Zahl wrote:... reintroducing one serious crash bug again!
I won't bother with Linux warning removal patches anymore. Yours was not the first that did some careless things.
??? what are you talking about? The patch I previously posted is not doing careless things at all
Edit: OK sorry but I am not used to unsigned/signed mixes, actually the code in m_options.cpp contains 
frightening things like 
(unsigned int)itemnum which is a very big number when itemnum is -1 and so is always >= Joysticks.Size(). They are not "Linux" warnings, they are warnings for a pure reason: they conceal possible bugs (on all OSes), so I was just proposing a patch to fix that problem but did not realize that many signed/unsigned re-casting were used later in code, sorry.
The correct patch would be:
Code: Select all
Index: src/v_video.cpp
===================================================================
--- src/v_video.cpp   (revisione 413)
+++ src/v_video.cpp   (copia locale)
@@ -1499,6 +1499,9 @@
   M_InitVideoModesMenu();
   BorderNeedRefresh = screen->GetPageCount ();
   setsizeneeded = true;
+#ifndef   _WIN32
+   setmodeneeded = false;
+#endif
}
void V_Shutdown()
Index: src/m_options.cpp
===================================================================
--- src/m_options.cpp	(revisione 413)
+++ src/m_options.cpp	(copia locale)
@@ -3211,7 +3211,7 @@
 
 void UpdateJoystickMenu(IJoystickConfig *selected)
 {
-	int i;
+	unsigned int i;
 	menuitem_t item = { whitetext };
 	int itemnum = -1;
 
@@ -3223,7 +3223,7 @@
 	}
 	if (selected != NULL)
 	{
-		for (i = 0; (unsigned)i < Joysticks.Size(); ++i)
+		for (i = 0; i < Joysticks.Size(); ++i)
 		{
 			if (Joysticks[i] == selected)
 			{
@@ -3281,10 +3281,10 @@
 
 		item.type = joymore;
 		item.e.mfunc = StartJoystickConfigMenu;
-		for (int i = 0; i < (int)Joysticks.Size(); ++i)
+		for (i = 0; i < Joysticks.Size(); ++i)
 		{
 			item.a.joyselection = i;
-			if (i == itemnum)
+			if (i == (unsigned int)itemnum)
 			{
 				JoystickMenu.lastOn = JoystickItems.Size(); 
 			}
@@ -3308,14 +3308,14 @@
 
 	// If the joystick config menu is open, close it if the device it's
 	// open for is gone.
-	for (i = 0; (unsigned)i < Joysticks.Size(); ++i)
+	for (i = 0; i < Joysticks.Size(); ++i)
 	{
 		if (Joysticks[i] == SELECTED_JOYSTICK)
 		{
 			break;
 		}
 	}
-	if (i == (int)Joysticks.Size())
+	if (i == Joysticks.Size())
 	{
 		SELECTED_JOYSTICK = NULL;
 		if (CurrentMenu == &JoystickConfigMenu)
Index: src/gl/old_renderer/gl1_flats.cpp
===================================================================
--- src/gl/old_renderer/gl1_flats.cpp	(revisione 413)
+++ src/gl/old_renderer/gl1_flats.cpp	(copia locale)
@@ -575,13 +575,13 @@
 			fixed_t lastceilingheight=sector->CenterCeiling();	// render only in the range of the
 			fixed_t lastfloorheight=sector->CenterFloor();		// current sector part (if applicable)
 			F3DFloor * rover;	
-			int k;
+			unsigned int k;
 			
 			// floors are ordered now top to bottom so scanning the list for the best match
 			// is no longer necessary.
 
 			ceiling=true;
-			for(k=0;k<(int)x.ffloors.Size();k++)
+			for(k=0;k<x.ffloors.Size();k++)
 			{
 				rover=x.ffloors[k];
 				
@@ -638,7 +638,7 @@
 			}
 				  
 			ceiling=false;
-			for(k=x.ffloors.Size()-1;k>=0;k--)
+			for(int k=(int)x.ffloors.Size()-1;k>=0;k--)
 			{
 				rover=x.ffloors[k];
 
I am experiencing bad latencies when trying to read the classic Doom demos, glitches when restoring the Xorg screen coming from a virtual terminal and the complete loss of mouselook between certain load/save sequences...are other Linux users experiencing these problems?