summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-10-20 21:10:44 (UTC)
committer llornkcor <llornkcor>2002-10-20 21:10:44 (UTC)
commit5696ac7a408c826c1e62f2200f6209a2c3d95119 (patch) (side-by-side diff)
tree0b1f6e4b6e96331abf380ae371aa8021c6045f33
parentd5433091ba9741f0fae104d038b906e353065e2d (diff)
downloadopie-5696ac7a408c826c1e62f2200f6209a2c3d95119.zip
opie-5696ac7a408c826c1e62f2200f6209a2c3d95119.tar.gz
opie-5696ac7a408c826c1e62f2200f6209a2c3d95119.tar.bz2
fix for sd/cf double whammy insert/eject on resume
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/cardmon/cardmon.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/applets/cardmon/cardmon.cpp b/core/applets/cardmon/cardmon.cpp
index c0a936f..74e8837 100644
--- a/core/applets/cardmon/cardmon.cpp
+++ b/core/applets/cardmon/cardmon.cpp
@@ -243,63 +243,65 @@ bool CardMonitor::getStatusPcmcia( int showPopUp ) {
text += tr( "New card: " );
what = "on";
} else {
text += tr( "Ejected: " );
what = "off";
}
text += cardInPcmcia1Name;
popUp( text, "cardmon/" + cardInPcmcia1Type );
}
QSound::play( Resource::findSound( "cardmon/card" + what) );
}
} else {
// no file found
qDebug( "no file found" );
cardInPcmcia0 = FALSE;
cardInPcmcia1 = FALSE;
}
return ( (cardWas0 == cardInPcmcia0 && cardWas1 == cardInPcmcia1 ) ? FALSE : TRUE );
}
bool CardMonitor::getStatusSd( int showPopUp ) {
bool cardWas = cardInSd; // remember last state
+ cardInSd = FALSE;
#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
struct mntent *me;
FILE *mntfp = setmntent( "/etc/mtab", "r" );
if ( mntfp ) {
while ( ( me = getmntent( mntfp ) ) != 0 ) {
QString fs = me->mnt_fsname;
//qDebug( fs );
if ( fs.left( 14 ) == "/dev/mmc/part1" || fs.left( 7 ) == "/dev/sd" || fs.left( 9 ) == "/dev/mmcd" ) {
cardInSd = TRUE;
show();
- } else {
- cardInSd = FALSE;
}
+// else {
+// cardInSd = FALSE;
+// }
}
endmntent( mntfp );
}
if( !showPopUp && cardWas != cardInSd ) {
QString text = QString::null;
QString what = QString::null;
if( cardInSd ) {
text += "SD Inserted";
what = "on";
} else {
text += "SD Removed";
what = "off";
}
//qDebug("TEXT: " + text );
QSound::play( Resource::findSound( "cardmon/card" + what ) );
popUp( text, "cardmon/ide" ); // XX add SD pic
}
#else
#error "Not on Linux"
#endif
return ( ( cardWas == cardInSd) ? FALSE : TRUE );
}