Commit ab7c1494 authored by Rik Griffin's avatar Rik Griffin
Browse files

Fixed flicker when Filer Action window is behind another window.

Version 0.56. Not tagged
parent 7b751efb
......@@ -13,5 +13,5 @@
| limitations under the License.
|
Set FilerAct$Path <Obey$Dir>.^.Resources.<Locale>.
Set Alias$Filer_Action2 <Obey$Dir>.^.app.FilerAct %%*0
Set Alias$Filer_Action <Obey$Dir>.^.app.FilerAct %%*0
|Set Alias$Filer_Action <Obey$Dir>.RunFilerAct %%*0
......@@ -354,6 +354,21 @@ static int caseless_wildcmp( const char *a, const char *b )
}
/*
* Prevent flicker when the filer action window is behind another window
*/
static void set_title(wimp_w handle, char *title) {
wimp_winfo winfo;
winfo.w = handle;
if (_swix(Wimp_GetWindowInfo, _IN(1), ((unsigned int)&winfo) | 1) == NULL) {
strcpy(winfo.info.title.indirecttext.buffer, title);
}
_swix(Wimp_ForceRedraw, _INR(0,2), handle, 0x4B534154, 3);
}
/*
Set the status text displayed in the top field, or the title bar
*/
......@@ -365,11 +380,11 @@ static void set_top_info_field_raw(action_environment *env, char *text)
char title[256];
sprintf(title, "%s - %s", TitleString, text);
win_settitle( env->window_handle, title );
set_title( env->window_handle, title );
}
else
{
win_settitle( env->window_handle, TitleString );
set_title( env->window_handle, TitleString );
}
#else
if (text == NULL) text = "";
......@@ -676,9 +691,9 @@ static os_error *start_operation( action_environment *env, actions_possible oper
#ifdef USE_STATUS_IN_TITLE
strcpy(TitleString, msgs_lookup( icon_strings[ operation ][ Title_Text ] ));
win_settitle( env->window_handle, TitleString );
set_title( env->window_handle, TitleString );
#else
win_settitle( dbox_syshandle( env->status_box ), msgs_lookup( icon_strings[ operation ][ Title_Text ] ));
set_title( dbox_syshandle( env->status_box ), msgs_lookup( icon_strings[ operation ][ Title_Text ] ));
#endif
env->top_progress = 0;
......@@ -1037,6 +1052,7 @@ BOOL message_event_handler( wimp_eventstr *event, void *environment )
clear_selection( env->test_search );
wimpt_noerr( set_directory( env->test_search, event->data.msg.data.chars ));
env->source_directory_name_length = strlen( event->data.msg.data.chars );
debugact(("MFilerSelectionDirectory: %s\n", event->data.msg.data.chars));
break;
#ifdef USE_LOAD_OPERATIONS
......
......@@ -172,7 +172,7 @@ static uint32_t count_objects_in_dir( char *dir )
}
else
{
debuglist(( "count_objects_in_dir: %s\n", e->errmess ));
debuglist(( "count_objects_in_dir: %s\n", err->errmess ));
return 0;
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment