summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/chat.cpp36
-rw-r--r--src/gui/progressbar.cpp21
-rw-r--r--src/gui/setup.cpp11
3 files changed, 41 insertions, 27 deletions
diff --git a/src/gui/chat.cpp b/src/gui/chat.cpp
index 278f36c3..34b49571 100644
--- a/src/gui/chat.cpp
+++ b/src/gui/chat.cpp
@@ -31,10 +31,11 @@ ChatBox::ChatBox(const char *logfile, int item_num)
items = 0;
items_keep = item_num;
- chatBoxBackground = new Image();
- chatBoxBackground->create(200, 200);
- chatBoxBackground->fillWithColor(255, 255, 255);
- chatBoxBackground->setAlpha(0.7f);
+ chatBoxBackground = Image::create(200, 200);
+ if (chatBoxBackground) {
+ chatBoxBackground->fillWithColor(255, 255, 255);
+ chatBoxBackground->setAlpha(0.7f);
+ }
}
ChatBox::~ChatBox()
@@ -128,16 +129,25 @@ void ChatBox::draw(gcn::Graphics *graphics)
graphics->drawRectangle(gcn::Rectangle(0, 0, getWidth(), getHeight()));
getAbsolutePosition(x, y);
-
- if ( (chatBoxBackground->getWidth() != getWidth()) || (chatBoxBackground->getHeight() != getHeight()) )
- {
- chatBoxBackground->unload();
- chatBoxBackground->create(getWidth(), getHeight());
- chatBoxBackground->fillWithColor(255, 255, 255);
- chatBoxBackground->setAlpha(0.7f);
+
+ // Potentially recreate background with new size
+ if (chatBoxBackground) {
+ if ((chatBoxBackground->getWidth() != getWidth()) ||
+ (chatBoxBackground->getHeight() != getHeight()))
+ {
+ delete chatBoxBackground;
+ chatBoxBackground = Image::create(getWidth(), getHeight());
+ if (chatBoxBackground) {
+ chatBoxBackground->fillWithColor(255, 255, 255);
+ chatBoxBackground->setAlpha(0.7f);
+ }
+ }
+ }
+
+ // Draw background image
+ if (chatBoxBackground) {
+ chatBoxBackground->draw(screen, x, y);
}
-
- chatBoxBackground->draw(screen, x, y);
for (iter = chatlog.begin(); iter != chatlog.end(); iter++) {
line = *iter;
diff --git a/src/gui/progressbar.cpp b/src/gui/progressbar.cpp
index 5ef5e03f..178f7d30 100644
--- a/src/gui/progressbar.cpp
+++ b/src/gui/progressbar.cpp
@@ -63,17 +63,18 @@ ProgressBar::ProgressBar(float progress, int x, int y, int width, int height,
dBottomLeftBorder->setAlpha(1.0f);
dBottomRightBorder->setAlpha(1.0f);
- colorBar = new Image();
- colorBar->create(getWidth() - 8, getHeight() - 8);
- colorBar->fillWithColor(red, green, blue);
- colorBar->setAlpha(0.7f);
+ colorBar = Image::create(getWidth() - 8, getHeight() - 8);
+ if (colorBar) {
+ colorBar->fillWithColor(red, green, blue);
+ colorBar->setAlpha(0.7f);
+ }
}
ProgressBar::~ProgressBar()
{
- #ifndef USE_OPENGL
- //SDL_FreeSurface(ColorBar);
- #endif
+ if (colorBar) {
+ delete colorBar;
+ }
}
void ProgressBar::draw(gcn::Graphics *graphics)
@@ -102,8 +103,10 @@ void ProgressBar::draw(gcn::Graphics *graphics)
dRightBorder->drawPattern(screen, absx + getWidth() - 4, absy + 4,
4, getHeight() - 8);
- colorBar->draw(screen, 0, 0, absx + 4, absy + 4,
- (int)(progress * float(getWidth() - 4)), getHeight() - 8);
+ if (colorBar) {
+ colorBar->draw(screen, 0, 0, absx + 4, absy + 4,
+ (int)(progress * float(getWidth() - 4)), getHeight() - 8);
+ }
}
void ProgressBar::setProgress(float progress)
diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp
index b43a469c..4f71e94d 100644
--- a/src/gui/setup.cpp
+++ b/src/gui/setup.cpp
@@ -50,12 +50,12 @@ ModeListModel::ModeListModel()
// Check if any modes available
if (modes == (SDL_Rect**)0) {
nmode = 0;
- puts("No modes");
+ log("No modes");
}
// Check if modes restricted
- if (modes == (SDL_Rect**) - 1) {
- puts("Modes restricted");
+ if (modes == (SDL_Rect**)-1) {
+ log("Modes unrestricted");
}
for (nmode = 0; modes[nmode]; ++nmode);
@@ -65,8 +65,9 @@ ModeListModel::ModeListModel()
for (i = 0; modes[i]; ++i) {
char *temp = (char*)malloc(20 * sizeof(char));
mode[i] = temp;
- if (sprintf(mode[i], "%d x %d", modes[i]->w, modes[i]->h) == -1)
- puts("Cannot allocate mode list");
+ if (sprintf(mode[i], "%d x %d", modes[i]->w, modes[i]->h) == -1) {
+ log("Cannot allocate mode list");
+ }
}
}