@ -888,10 +888,23 @@ private:
LOG_WARNING ( Service_VI , " (STUBBED) called " ) ;
IPC : : RequestParser rp { ctx } ;
auto name_buf = rp . PopRaw < std : : array < u8 , 0x40 > > ( ) ;
auto end = std : : find ( name_buf . begin ( ) , name_buf . end ( ) , ' \0 ' ) ;
const auto name_buf = rp . PopRaw < std : : array < char , 0x40 > > ( ) ;
OpenDisplayImpl ( ctx , std : : string_view { name_buf . data ( ) , name_buf . size ( ) } ) ;
}
void OpenDefaultDisplay ( Kernel : : HLERequestContext & ctx ) {
LOG_DEBUG ( Service_VI , " called " ) ;
OpenDisplayImpl ( ctx , " Default " ) ;
}
std : : string name ( name_buf . begin ( ) , end ) ;
void OpenDisplayImpl ( Kernel : : HLERequestContext & ctx , std : : string_view name ) {
const auto trim_pos = name . find ( ' \0 ' ) ;
if ( trim_pos ! = std : : string_view : : npos ) {
name . remove_suffix ( name . size ( ) - trim_pos ) ;
}
ASSERT_MSG ( name = = " Default " , " Non-default displays aren't supported yet " ) ;
@ -1082,7 +1095,7 @@ IApplicationDisplayService::IApplicationDisplayService(
" GetIndirectDisplayTransactionService " } ,
{ 1000 , & IApplicationDisplayService : : ListDisplays , " ListDisplays " } ,
{ 1010 , & IApplicationDisplayService : : OpenDisplay , " OpenDisplay " } ,
{ 1011 , nullptr , " OpenDefaultDisplay " } ,
{ 1011 , & IApplicationDisplayService : : OpenDefaultDisplay , " OpenDefaultDisplay " } ,
{ 1020 , & IApplicationDisplayService : : CloseDisplay , " CloseDisplay " } ,
{ 1101 , nullptr , " SetDisplayEnabled " } ,
{ 1102 , & IApplicationDisplayService : : GetDisplayResolution , " GetDisplayResolution " } ,