forked from eden-emu/eden
		
	HLE/Applets: Use the correct size for the framebuffer SharedMemory in the swkbd and MiiSelector applets.
This commit is contained in:
		
							parent
							
								
									678d15761f
								
							
						
					
					
						commit
						6970b7d3d5
					
				
					 5 changed files with 44 additions and 23 deletions
				
			
		|  | @ -24,13 +24,6 @@ | |||
| namespace HLE { | ||||
| namespace Applets { | ||||
| 
 | ||||
| SoftwareKeyboard::SoftwareKeyboard(Service::APT::AppletId id) : Applet(id), started(false) { | ||||
|     // Create the SharedMemory that will hold the framebuffer data
 | ||||
|     // TODO(Subv): What size should we use here?
 | ||||
|     using Kernel::MemoryPermission; | ||||
|     framebuffer_memory = Kernel::SharedMemory::Create(0x1000, MemoryPermission::ReadWrite, MemoryPermission::ReadWrite, "SoftwareKeyboard Memory"); | ||||
| } | ||||
| 
 | ||||
| ResultCode SoftwareKeyboard::ReceiveParameter(Service::APT::MessageParameter const& parameter) { | ||||
|     if (parameter.signal != static_cast<u32>(Service::APT::SignalType::LibAppJustStarted)) { | ||||
|         LOG_ERROR(Service_APT, "unsupported signal %u", parameter.signal); | ||||
|  | @ -39,8 +32,19 @@ ResultCode SoftwareKeyboard::ReceiveParameter(Service::APT::MessageParameter con | |||
|         return ResultCode(-1); | ||||
|     } | ||||
| 
 | ||||
|     // The LibAppJustStarted message contains a buffer with the size of the framebuffer shared memory.
 | ||||
|     // Create the SharedMemory that will hold the framebuffer data
 | ||||
|     Service::APT::CaptureBufferInfo capture_info; | ||||
|     ASSERT(sizeof(capture_info) == parameter.buffer_size); | ||||
| 
 | ||||
|     memcpy(&capture_info, parameter.data, sizeof(capture_info)); | ||||
| 
 | ||||
|     using Kernel::MemoryPermission; | ||||
|     framebuffer_memory = Kernel::SharedMemory::Create(capture_info.size, MemoryPermission::ReadWrite, | ||||
|                                                       MemoryPermission::ReadWrite, "SoftwareKeyboard Memory"); | ||||
| 
 | ||||
|     // Send the response message with the newly created SharedMemory
 | ||||
|     Service::APT::MessageParameter result; | ||||
|     // The buffer passed in parameter contains the data returned by GSPGPU::ImportDisplayCaptureInfo
 | ||||
|     result.signal = static_cast<u32>(Service::APT::SignalType::LibAppFinished); | ||||
|     result.data = nullptr; | ||||
|     result.buffer_size = 0; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Subv
						Subv