summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/okeyconfigmanager.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/libopie2/opiecore/okeyconfigmanager.cpp b/libopie2/opiecore/okeyconfigmanager.cpp
index 18740ef..ad0f7f7 100644
--- a/libopie2/opiecore/okeyconfigmanager.cpp
+++ b/libopie2/opiecore/okeyconfigmanager.cpp
@@ -492,8 +492,9 @@ OKeyConfigManager::OKeyConfigManager( Opie::Core::OConfig* conf,
*/
OKeyConfigManager::~OKeyConfigManager() {
if ( m_grab )
QPEApplication::ungrabKeyboard();
+ delete m_map;
}
/**
* Load the Configuration from the OConfig
@@ -510,14 +511,16 @@ void OKeyConfigManager::load() {
* Read each item
*/
int key, mod;
for( OKeyConfigItem::List::Iterator it = m_keys.begin(); it != m_keys.end(); ++it ) {
- key = m_conf->readNumEntry( (*it).configKey()+"key", (*it).defaultKeyPair().keycode() );
- mod = m_conf->readNumEntry( (*it).configKey()+"mod", (*it).defaultKeyPair().modifier() );
+ key = m_conf->readNumEntry( (*it).configKey()+"key",
+ (*it).defaultKeyPair().keycode() );
+ mod = m_conf->readNumEntry( (*it).configKey()+"mod",
+ (*it).defaultKeyPair().modifier() );
OKeyPair okey( key, mod );
if ( !m_blackKeys.contains( okey ) && key != -1 && mod != -1 )
- (*it).setKeyPair( OKeyPair(key, mod) );
+ (*it).setKeyPair( okey );
else
(*it).setKeyPair( OKeyPair::emptyKey() );
}
delete m_map; m_map = 0;
@@ -684,8 +687,11 @@ void OKeyConfigManager::handleWidget( QWidget* wid ) {
bool OKeyConfigManager::eventFilter( QObject* obj, QEvent* ev) {
if ( !obj->isWidgetType() )
return false;
+ /*
+ * check if we care for the event
+ */
if ( (ev->type() != QEvent::KeyPress||!testEventMask(MaskPressed)) &&
(ev->type() != QEvent::KeyRelease||!testEventMask(MaskReleased)) )
return false;