Merge branch 'android_branch' into relay_noconn

Conflicts:
	xwords4/android/XWords4/archive/R.java
	xwords4/android/XWords4/res/values/strings.xml
	xwords4/android/XWords4/res_src/values-ba_CK/strings.xml
	xwords4/android/XWords4/res_src/values-ca_PS/strings.xml
	xwords4/android/XWords4/src/org/eehouse/android/xw4/SMSInviteDelegate.java
This commit is contained in:
Eric House 2015-07-26 13:22:45 -07:00
commit 684c7ff3e3
2 changed files with 10 additions and 2 deletions

View file

@ -2107,6 +2107,7 @@ board_requestHint( BoardCtxt* board,
if ( searchComplete && canMove ) { if ( searchComplete && canMove ) {
model_makeTurnFromMoveInfo( model, selPlayer, &newMove); model_makeTurnFromMoveInfo( model, selPlayer, &newMove);
} else { } else {
result = XP_FALSE;
XP_STATUSF( "unable to complete hint request\n" ); XP_STATUSF( "unable to complete hint request\n" );
} }
*workRemainsP = !searchComplete; *workRemainsP = !searchComplete;
@ -2124,6 +2125,10 @@ board_requestHint( BoardCtxt* board,
} else { } else {
util_userError( board->util, ERR_NO_HINT_FOUND ); util_userError( board->util, ERR_NO_HINT_FOUND );
} }
if ( !result ) {
util_userError( board->util, ERR_NO_HINT_FOUND );
}
} }
return result || redraw; return result || redraw;
} /* board_requestHint */ } /* board_requestHint */

View file

@ -393,6 +393,7 @@ engine_findMove( EngineCtxt* engine, const ModelCtxt* model,
{ {
XP_Bool result = XP_TRUE; XP_Bool result = XP_TRUE;
XP_U16 star_row; XP_U16 star_row;
XP_Bool canMove = XP_FALSE;
engine->nTilesMax = XP_MIN( MAX_TRAY_TILES, nTiles ); engine->nTilesMax = XP_MIN( MAX_TRAY_TILES, nTiles );
#ifdef XWFEATURE_BONUSALL #ifdef XWFEATURE_BONUSALL
@ -445,9 +446,9 @@ engine_findMove( EngineCtxt* engine, const ModelCtxt* model,
dictionary's emtpy or there are no tiles, still return TRUE so we don't dictionary's emtpy or there are no tiles, still return TRUE so we don't
get scheduled again. Fixes infinite loop with empty dict and a get scheduled again. Fixes infinite loop with empty dict and a
robot. */ robot. */
*canMoveP = NULL != dict_getTopEdge(engine->dict) canMove = NULL != dict_getTopEdge(engine->dict)
&& initTray( engine, tiles, nTiles ); && initTray( engine, tiles, nTiles );
if ( *canMoveP ) { if ( canMove ) {
util_engineStarting( engine->util, util_engineStarting( engine->util,
engine->rack[engine->blankTile] ); engine->rack[engine->blankTile] );
@ -528,6 +529,7 @@ engine_findMove( EngineCtxt* engine, const ModelCtxt* model,
XP_MEMCPY( newMove, &move->moveInfo, sizeof(*newMove) ); XP_MEMCPY( newMove, &move->moveInfo, sizeof(*newMove) );
} else { } else {
newMove->nTiles = 0; newMove->nTiles = 0;
canMove = XP_FALSE;
} }
result = XP_TRUE; result = XP_TRUE;
} }
@ -540,6 +542,7 @@ engine_findMove( EngineCtxt* engine, const ModelCtxt* model,
newMove->nTiles = 0; newMove->nTiles = 0;
} }
*canMoveP = canMove;
return result; return result;
} /* engine_findMove */ } /* engine_findMove */