summaryrefslogtreecommitdiff
path: root/inputmethods
authorhash <hash>2002-08-15 19:46:43 (UTC)
committer hash <hash>2002-08-15 19:46:43 (UTC)
commit3e328409c2829dff590d0087518938851aff8bcc (patch) (side-by-side diff)
tree0a0f9fe70fdd78ffd00702b73782f41ffbc56cd7 /inputmethods
parentd9cc9bedf72e921f8f7d8edeb189db127c5651e3 (diff)
downloadopie-3e328409c2829dff590d0087518938851aff8bcc.zip
opie-3e328409c2829dff590d0087518938851aff8bcc.tar.gz
opie-3e328409c2829dff590d0087518938851aff8bcc.tar.bz2
think i fixed a memory leak problem... please test it out and see if the size of qpe increases if you load/unload keymaps
Diffstat (limited to 'inputmethods') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/multikey/keyboard.cpp10
-rw-r--r--inputmethods/multikey/keyboard.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/inputmethods/multikey/keyboard.cpp b/inputmethods/multikey/keyboard.cpp
index b71f929..671868c 100644
--- a/inputmethods/multikey/keyboard.cpp
+++ b/inputmethods/multikey/keyboard.cpp
@@ -1008,24 +1008,34 @@ void Keys::setKey(const int row, const int qcode, const ushort unicode,
}
if (!found) {
key->pressed = new bool;
*(key->pressed) = 0;
}
key->pix = pix;
keys[row].append(key);
}
+
+// Keys::~Keys {{{2
+Keys::~Keys() {
+
+ for (int i = 1; i <= 5; i++)
+ for (unsigned int j = 0; j < keys[i].count(); j++)
+ delete keys[i].at(j);
+
+}
+
// Keys:: other functions {{{2
int Keys::width(const int row, const int col) {
return keys[row].at(col)->width;
}
ushort Keys::uni(const int row, const int col) {
return keys[row].at(col)->unicode;
}
diff --git a/inputmethods/multikey/keyboard.h b/inputmethods/multikey/keyboard.h
index 8ca50ea..400edc0 100644
--- a/inputmethods/multikey/keyboard.h
+++ b/inputmethods/multikey/keyboard.h
@@ -46,24 +46,25 @@ public:
: PickboardPicks(parent, name, f) { }
void initialise();
virtual QSize sizeHint() const;
KeyboardConfig *dc;
};
class Keys {
public:
Keys();
Keys(const char * filename);
+ ~Keys();
ushort uni(const int row, const int col);
int qcode(const int row, const int col);
int width(const int row, const int col);
bool pressed(const int row, const int col);
bool *pressedPtr(const int row, const int col);
ushort shift(const ushort);
QPixmap *pix(const int row, const int col);
int numKeys(const int row);
void setKeysFromFile(const char *filename);
void setKey(const int row, const int qcode, const ushort unicode,
const int width, QPixmap *pix);
void setPressed(const int row, const int col, const bool pressed);