Skip to content

Commit 57ebe44

Browse files
authored
Merge pull request #25 from DegateCommunity/24-crash-when-handling-large-images
[Attached feature] Crash when handling large images
2 parents a9dfc35 + 6431b02 commit 57ebe44

19 files changed

+882
-569
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ build/*
44
.vs/
55
.vscode/
66
.cache/
7+
.clangd/
8+
.helix/
9+
.clangd
710

811
etc/installer/packages/Degate/data/*
912
!etc/installer/packages/Degate/data/.keepme
@@ -19,3 +22,6 @@ doc/build/*
1922
!doc/build/.keepme
2023
doc/config/DoxyFile
2124
.cache
25+
26+
build.sh
27+
run.sh

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ add_definitions(-DBOOST_NO_CXX11_SCOPED_ENUMS)
5656
#
5757
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
5858

59+
#
60+
# Export compile_commands.json file
61+
#
62+
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
5963

6064
############################################################################
6165
############################ Dependencies ##################################

res/loading.png

48.9 KB
Loading

res/resources.qrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
<file>degate_splash.png</file>
55
<file alias="CHANGELOG.md">../CHANGELOG.md</file>
66
<file alias="LICENSE.TXT">../LICENSE.TXT</file>
7+
<file>loading.png</file>
78
</qresource>
89
<qresource>
910
<file>dark/area_selection_tool.png</file>
@@ -44,4 +45,4 @@
4445
<qresource>
4546
<file>themes/blue_dark.qss</file>
4647
</qresource>
47-
</RCC>
48+
</RCC>

src/Core/Image/GlobalTileCache.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@
2525
#include "Core/Image/TileCacheBase.h"
2626
#include "Core/Primitive/SingletonBase.h"
2727

28-
#include <cstddef>
29-
#include <utility>
30-
#include <iostream>
3128
#include <iomanip>
29+
#include <iostream>
30+
#include <utility>
3231

3332
namespace degate
3433
{
@@ -40,7 +39,7 @@ namespace degate
4039
*
4140
* @warning This is a singleton, only one instance can exists.
4241
*/
43-
template <class PixelPolicy>
42+
template<class PixelPolicy>
4443
class GlobalTileCache : public SingletonBase<GlobalTileCache<PixelPolicy>>
4544
{
4645
friend class SingletonBase<GlobalTileCache>;
@@ -55,7 +54,6 @@ namespace degate
5554
cache_t cache;
5655

5756
private:
58-
5957
/**
6058
* Create a new global tile cache object (singleton).
6159
*/
@@ -108,7 +106,6 @@ namespace degate
108106
}
109107

110108
public:
111-
112109
/**
113110
* Print a status table about the global tile cache.
114111
*/
@@ -129,7 +126,8 @@ namespace degate
129126
std::cout << ".";
130127
std::cout << std::setw(12) << entry.first.tv_nsec;
131128
std::cout << " | ";
132-
std::cout << entry.second / static_cast<unsigned long>(1024 * 1024) << " M (" << entry.second << " bytes)\n";
129+
std::cout << entry.second / static_cast<unsigned long>(1024 * 1024) << " M (" << entry.second
130+
<< " bytes)\n";
133131
iter->first->print();
134132
}
135133
std::cout << "\n";
@@ -155,7 +153,9 @@ namespace degate
155153

156154
if (allocated_memory + amount <= max_cache_memory)
157155
{
158-
struct timespec now{};
156+
struct timespec now
157+
{
158+
};
159159
GET_CLOCK(now);
160160

161161
auto found = cache.find(requestor);
@@ -249,6 +249,6 @@ namespace degate
249249
return allocated_memory + amount > max_cache_memory;
250250
}
251251
};
252-
}
252+
} // namespace degate
253253

254254
#endif //__GLOBALTILECACHE_H__

0 commit comments

Comments
 (0)