diff options
| author | cracker64 <cracker642@gmail.com> | 2013-03-10 03:48:12 (GMT) |
|---|---|---|
| committer | cracker64 <cracker642@gmail.com> | 2013-03-10 03:48:12 (GMT) |
| commit | 3abc33fd3b8bfaa720202ad2e4d5c46b9d51e9d7 (patch) | |
| tree | d7adefd78acebcc127c684a00bcd31e253ef148a /src | |
| parent | a9e66429d60c0867e540d645a8c52db79abb1736 (diff) | |
| parent | e6f6eedd1364fd3792d6ca7aa3ac2d0c97911f70 (diff) | |
| download | powder-3abc33fd3b8bfaa720202ad2e4d5c46b9d51e9d7.zip powder-3abc33fd3b8bfaa720202ad2e4d5c46b9d51e9d7.tar.gz | |
Merge branch 'master' of git@github.com:FacialTurd/The-Powder-Toy.git
Diffstat (limited to 'src')
| -rw-r--r-- | src/graphics/RasterDrawMethods.inl | 6 | ||||
| -rw-r--r-- | src/preview/PreviewModel.cpp | 2 | ||||
| -rw-r--r-- | src/search/SearchModel.cpp | 4 | ||||
| -rw-r--r-- | src/search/SearchModel.h | 2 | ||||
| -rw-r--r-- | src/simulation/Simulation.cpp | 11 |
5 files changed, 18 insertions, 7 deletions
diff --git a/src/graphics/RasterDrawMethods.inl b/src/graphics/RasterDrawMethods.inl index dec15f1..07b8257 100644 --- a/src/graphics/RasterDrawMethods.inl +++ b/src/graphics/RasterDrawMethods.inl @@ -362,6 +362,12 @@ void PIXELMETHODS_CLASS::draw_image(pixel *img, int x, int y, int w, int h, int int i, j, r, g, b; if (!img) return; if(y + h > VIDYRES) h = ((VIDYRES)-y)-1; //Adjust height to prevent drawing off the bottom + if (y < 0 && -y < h) + { + img += -y*w; + h += y; + y = 0; + } if(!h || y < 0) return; if(a >= 255) for (j=0; j<h; j++) diff --git a/src/preview/PreviewModel.cpp b/src/preview/PreviewModel.cpp index f4cd6ec..b25d084 100644 --- a/src/preview/PreviewModel.cpp +++ b/src/preview/PreviewModel.cpp @@ -137,6 +137,7 @@ void PreviewModel::UpdateSave(int saveID, int saveDate) for(int i = 0; i < saveComments->size(); i++) delete saveComments->at(i); saveComments->clear(); + delete saveComments; saveComments = NULL; } notifySaveChanged(); @@ -202,6 +203,7 @@ void PreviewModel::UpdateComments(int pageNumber) { for(int i = 0; i < saveComments->size(); i++) delete saveComments->at(i); + saveComments->clear(); delete saveComments; saveComments = NULL; } diff --git a/src/search/SearchModel.cpp b/src/search/SearchModel.cpp index 913e95b..f4de2d6 100644 --- a/src/search/SearchModel.cpp +++ b/src/search/SearchModel.cpp @@ -64,7 +64,7 @@ void * SearchModel::updateTagListT() void SearchModel::UpdateSaveList(int pageNumber, std::string query) { //Threading - if(!updateSaveListWorking && !updateTagListWorking) + if(!updateSaveListWorking) { lastQuery = query; lastError = ""; @@ -84,7 +84,7 @@ void SearchModel::UpdateSaveList(int pageNumber, std::string query) selected.clear(); notifySelectedChanged(); - if(GetShowTags() && !tagList.size()) + if(GetShowTags() && !tagList.size() && !updateTagListWorking) { updateTagListFinished = false; updateTagListWorking = true; diff --git a/src/search/SearchModel.h b/src/search/SearchModel.h index 9e93f05..0fe9480 100644 --- a/src/search/SearchModel.h +++ b/src/search/SearchModel.h @@ -48,7 +48,7 @@ private: bool updateTagListWorking; volatile bool updateTagListFinished; pthread_t updateTagListThread; - static void * updateTagListTHelper(void * obj); + static void * updateTagListTHelper(void * obj); void * updateTagListT(); public: SearchModel(); diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index b6f4f84..3acf413 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -146,10 +146,13 @@ int Simulation::Load(int fullX, int fullY, GameSave * save) Element_PPIP::ppip_changed = 1; for(int i = 0; i < save->signs.size() && signs.size() < MAXSIGNS; i++) { - sign tempSign = save->signs[i]; - tempSign.x += fullX; - tempSign.y += fullY; - signs.push_back(tempSign); + if (save->signs[i].text[0]) + { + sign tempSign = save->signs[i]; + tempSign.x += fullX; + tempSign.y += fullY; + signs.push_back(tempSign); + } } for(int saveBlockX = 0; saveBlockX < save->blockWidth; saveBlockX++) { |
