[maemo-commits] [maemo-commits] r18663 - in projects/haf/trunk/ke-recv: debian src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Mon Jun 8 17:20:25 EEST 2009
- Previous message: [maemo-commits] r18662 - projects/haf/trunk/hildon-thumbnail
- Next message: [maemo-commits] r18664 - projects/haf/trunk/ke-recv/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: kihamala
Date: 2009-06-08 17:20:21 +0300 (Mon, 08 Jun 2009)
New Revision: 18663
Modified:
projects/haf/trunk/ke-recv/debian/changelog
projects/haf/trunk/ke-recv/src/ke-recv.c
Log:
allow selecting mass storage again later if both cards failed last time
Modified: projects/haf/trunk/ke-recv/debian/changelog
===================================================================
--- projects/haf/trunk/ke-recv/debian/changelog 2009-06-08 14:13:05 UTC (rev 18662)
+++ projects/haf/trunk/ke-recv/debian/changelog 2009-06-08 14:20:21 UTC (rev 18663)
@@ -4,6 +4,7 @@
* Not showing the "mounted as read-only" infonote since it is now shown by
hulda.
* Fix a number of Coverity findings.
+ * Fixes: NB#112723 - Unable to select mass storage in a scenario
-- Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> Fri, 5 Jun 2009 13:33:23 +0300
Modified: projects/haf/trunk/ke-recv/src/ke-recv.c
===================================================================
--- projects/haf/trunk/ke-recv/src/ke-recv.c 2009-06-08 14:13:05 UTC (rev 18662)
+++ projects/haf/trunk/ke-recv/src/ke-recv.c 2009-06-08 14:20:21 UTC (rev 18663)
@@ -92,7 +92,7 @@
static gboolean usb_unmount_recheck(gpointer data);
static int unmount_usb_volumes(void);
static int launch_fm(void);
-static void e_plugged_helper(void);
+static gboolean e_plugged_helper(void);
static void possibly_start_am(void);
static gboolean init_usb_cable_status(gpointer data);
static int mount_usb_volumes(void);
@@ -2808,9 +2808,11 @@
return 1;
}
-static void e_plugged_helper(void)
+/* Returns TRUE if at least one card was shared */
+static gboolean e_plugged_helper(void)
{
int er = 1, ir = 1;
+ gboolean retval = FALSE;
if (ext_mmc.whole_device == NULL
&& int_mmc.whole_device == NULL) {
@@ -2818,7 +2820,7 @@
/*
display_system_note("no memory card inserted");
*/
- return;
+ return FALSE;
}
/* false means failure */
@@ -2834,11 +2836,14 @@
show_usb_sharing_failed_dialog(&int_mmc, &ext_mmc, 0);
} else if (!er) {
show_usb_sharing_failed_dialog(NULL, &ext_mmc, 1);
+ retval = TRUE;
} else if (!ir) {
show_usb_sharing_failed_dialog(NULL, &ext_mmc, 0);
+ retval = TRUE;
} else {
/* both succeeded */
display_dialog(_("cards_connected_via_usb"));
+ retval = TRUE;
}
} else {
/* no external card inserted */
@@ -2846,8 +2851,10 @@
show_usb_sharing_failed_dialog(&int_mmc, NULL, 0);
} else {
display_dialog(_("cards_connected_via_usb"));
+ retval = TRUE;
}
}
+ return retval;
}
static void handle_usb_event(usb_event_t e)
@@ -2973,8 +2980,14 @@
case E_ENTER_MASS_STORAGE_MODE:
if (usb_state == S_PERIPHERAL_WAIT ||
usb_state == S_CHARGING) {
+ usb_state_t orig = usb_state;
usb_state = S_MASS_STORAGE;
- e_plugged_helper();
+ if (!e_plugged_helper()) {
+ ULOG_DEBUG_F("no card was USB shared");
+ /* no real state change if no card was
+ * successful */
+ usb_state = orig;
+ }
} else {
ULOG_WARN_F("E_ENTER_MASS_STORAGE_MODE in %d!",
usb_state);
- Previous message: [maemo-commits] r18662 - projects/haf/trunk/hildon-thumbnail
- Next message: [maemo-commits] r18664 - projects/haf/trunk/ke-recv/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
