diff --git a/source/glest_game/gui/gui.cpp b/source/glest_game/gui/gui.cpp index e88470813..b50586467 100644 --- a/source/glest_game/gui/gui.cpp +++ b/source/glest_game/gui/gui.cpp @@ -346,7 +346,7 @@ void Gui::mouseDoubleClickLeftGraphics(int x, int y){ void Gui::groupKey(int groupIndex) { if(isKeyDown(vkControl)){ if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] groupIndex = %d\n",__FILE__,__FUNCTION__,__LINE__,groupIndex); - bool allAssigned=true; +// bool allAssigned=true; bool clearGroup=!isKeyDown(vkShift); // if(!clearGroup){ // Unit* unit=selection.getFrontUnit(); @@ -354,7 +354,7 @@ void Gui::groupKey(int groupIndex) { // return; // } // } - allAssigned=selection.assignGroup(groupIndex,clearGroup); + bool allAssigned=selection.assignGroup(groupIndex,clearGroup); if(!allAssigned){ console->addStdMessage("GroupAssignFailed"); } diff --git a/source/glest_game/menu/menu_state_keysetup.cpp b/source/glest_game/menu/menu_state_keysetup.cpp index 9cea072e2..c1cbad1d5 100644 --- a/source/glest_game/menu/menu_state_keysetup.cpp +++ b/source/glest_game/menu/menu_state_keysetup.cpp @@ -545,10 +545,10 @@ void MenuStateKeysetup::keyUp(SDL_KeyboardEvent key) { if(hotkeyChar != 0) { if(SystemFlags::VERBOSE_MODE_ENABLED) printf ("In [%s::%s Line: %d] char [%d][%d]\n",__FILE__,__FUNCTION__,__LINE__,hotkeyChar,key.keysym.sym); - string keyName = ""; + //string keyName = ""; //if(hotkeyChar > SDLK_UNKNOWN && hotkeyChar < SDL_NUM_SCANCODES) { - keyName = SDL_GetKeyName(key.keysym.sym); + string keyName = SDL_GetKeyName(key.keysym.sym); if(StartsWith(keyName,"Keypad ") == false) { keyName = SDL_GetKeyName(hotkeyChar); key.keysym.sym = hotkeyChar; diff --git a/source/glest_game/network/network_message.cpp b/source/glest_game/network/network_message.cpp index 28b6b89f3..74ab1b1be 100644 --- a/source/glest_game/network/network_message.cpp +++ b/source/glest_game/network/network_message.cpp @@ -1349,7 +1349,7 @@ bool NetworkMessageLaunch::receive(Socket* socket) { result = NetworkMessage::receive(socket, &compressedLength, sizeof(compressedLength), true); //printf("UnCompressed launch packet after read compressed size: %d\n",compressedLength); - if(result == true && compressedLength > 0) { + if(result == true && compressedLength > 0 && socket != NULL && socket->isSocketValid()) { //printf("UnCompressed launch packet before: %u after: %d\n",compressedLength,(int)getDataSize()); unsigned char *compressedMessage = new unsigned char[compressedLength+1]; @@ -1358,7 +1358,7 @@ bool NetworkMessageLaunch::receive(Socket* socket) { result = NetworkMessage::receive(socket, compressedMessage, compressedLength, true); //printf("UnCompressed launch packet READ returned: %d\n",result); - if(result == true) { + if(result == true && socket != NULL && socket->isSocketValid()) { //printf("UnCompressed launch packet before decompress\n"); // printf("\n"); @@ -1380,6 +1380,7 @@ bool NetworkMessageLaunch::receive(Socket* socket) { //printf("SUCCESS UnCompressed launch packet before: %u after: %lu\n",compressedLength,decompressedBuffer.second); } + delete [] compressedMessage; } else if(result == true) { //printf("Normal launch packet detected (uncompressed)\n"); @@ -1470,8 +1471,12 @@ void NetworkMessageLaunch::send(Socket* socket) { // printf("\n"); NetworkMessage::send(socket, &messageType, sizeof(messageType)); - NetworkMessage::send(socket, &compressedLength, sizeof(compressedLength)); - NetworkMessage::send(socket, compressionResult.first, compressionResult.second); + if(socket != NULL && socket->isSocketValid()) { + NetworkMessage::send(socket, &compressedLength, sizeof(compressedLength)); + if(socket != NULL && socket->isSocketValid()) { + NetworkMessage::send(socket, compressionResult.first, compressionResult.second); + } + } delete [] compressionResult.first; //printf("Compressed launch packet SENT\n"); } diff --git a/source/shared_lib/sources/compression/compression_utils.cpp b/source/shared_lib/sources/compression/compression_utils.cpp index 66fea29cf..5cdd76720 100644 --- a/source/shared_lib/sources/compression/compression_utils.cpp +++ b/source/shared_lib/sources/compression/compression_utils.cpp @@ -22,6 +22,7 @@ #include #include #include "conversion.h" +#include "platform_util.h" #include "util.h" using namespace Shared::Util; @@ -335,6 +336,11 @@ std::pair compressMemoryToMemory(unsigned char *i //printf("compress2 start size: %lu\n",input_len); int result = compress2(compressed_buffer, &compressed_buffer_len, decompressed_buffer, input_len, compressionLevel); + if(result != Z_OK) { + string msg = string("Invalid compress2 return value: ") + intToStr(result); + throw megaglest_runtime_error(msg.c_str()); + } + //printf("compress2 returned: %d start size: %lu end size: %lu\n",result,input_len,compressed_buffer_len); delete [] decompressed_buffer; @@ -352,7 +358,12 @@ std::pair extractMemoryToMemory(unsigned char *in memcpy(compressed_buffer,input,input_len); //printf("#2uncompress start size: %lu\n",input_len); + //int result = uncompress(decompressed_buffer, &decompressed_buffer_len, compressed_buffer, input_len); int result = uncompress(decompressed_buffer, &decompressed_buffer_len, compressed_buffer, input_len); + if(result != Z_OK) { + string msg = string("Invalid uncompress return value: ") + intToStr(result); + throw megaglest_runtime_error(msg.c_str()); + } //printf("uncompress returned: %d start size: %lu end size: %lu\n",result,input_len,decompressed_buffer_len); delete [] compressed_buffer;