mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-22 05:14:46 -07:00
Update apps
This commit is contained in:
22
applications/external/rc2014_coleco/coleco.c
vendored
22
applications/external/rc2014_coleco/coleco.c
vendored
@@ -40,14 +40,15 @@ typedef struct {
|
||||
} PluginEvent;
|
||||
|
||||
typedef struct {
|
||||
FuriMutex* mutex;
|
||||
bool dpad;
|
||||
int row;
|
||||
int column;
|
||||
FuriMutex* mutex;
|
||||
} Coleco;
|
||||
|
||||
static void render_callback(Canvas* const canvas, void* context) {
|
||||
Coleco* coleco = (Coleco*)context;
|
||||
furi_assert(context);
|
||||
Coleco* coleco = context;
|
||||
furi_mutex_acquire(coleco->mutex, FuriWaitForever);
|
||||
|
||||
if(coleco->dpad) {
|
||||
@@ -174,20 +175,12 @@ static Coleco* coleco_alloc() {
|
||||
coleco->row = 0;
|
||||
coleco->column = 1;
|
||||
|
||||
coleco->mutex = furi_mutex_alloc(FuriMutexTypeNormal);
|
||||
if(!coleco->mutex) {
|
||||
FURI_LOG_E("Coleco", "cannot create mutex\r\n");
|
||||
free(coleco);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return coleco;
|
||||
}
|
||||
|
||||
static void coleco_free(Coleco* coleco) {
|
||||
furi_assert(coleco);
|
||||
|
||||
furi_mutex_free(coleco->mutex);
|
||||
free(coleco);
|
||||
}
|
||||
|
||||
@@ -197,7 +190,11 @@ int32_t coleco_app(void* p) {
|
||||
FuriMessageQueue* event_queue = furi_message_queue_alloc(8, sizeof(PluginEvent));
|
||||
|
||||
Coleco* coleco = coleco_alloc();
|
||||
if(coleco == NULL) {
|
||||
|
||||
coleco->mutex = furi_mutex_alloc(FuriMutexTypeNormal);
|
||||
if(!coleco->mutex) {
|
||||
FURI_LOG_E("Coleco", "cannot create mutex\r\n");
|
||||
coleco_free(coleco);
|
||||
return 255;
|
||||
}
|
||||
|
||||
@@ -349,8 +346,6 @@ int32_t coleco_app(void* p) {
|
||||
|
||||
view_port_update(view_port);
|
||||
}
|
||||
} else {
|
||||
FURI_LOG_D("Coleco", "FuriMessageQueue: event timeout");
|
||||
}
|
||||
|
||||
furi_mutex_release(coleco->mutex);
|
||||
@@ -363,6 +358,7 @@ int32_t coleco_app(void* p) {
|
||||
furi_record_close("gui");
|
||||
view_port_free(view_port);
|
||||
furi_message_queue_free(event_queue);
|
||||
furi_mutex_free(coleco->mutex);
|
||||
coleco_free(coleco);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user