Stop init process if tts_create failed 99/320899/1 tizen_9.0
authorYoungsun Suh <youngsun.suh@samsung.com>
Tue, 11 Mar 2025 00:25:27 +0000 (09:25 +0900)
committerYoungsun Suh <youngsun.suh@samsung.com>
Tue, 11 Mar 2025 00:25:27 +0000 (09:25 +0900)
Change-Id: I28d54b8fe3f92d618d770247f035fd52dd5ddd47

src/main.c
src/screen_reader.c
src/screen_reader_tts.c

index d1637930b9e55fd86d64bccd7e7554b1bcfb0543..4fe39c77fbbd1560aeeb8a1b47a9adf59baa6223 100644 (file)
@@ -50,12 +50,16 @@ static int app_create(void *data)
                return -1;
        }
 
-       int result = atspi_init();
-       if (result != 0) {
+       int atspi_init_result = atspi_init();
+       if (atspi_init_result != 0) {
                ERROR("atspi_init failed");
                return -1;
        }
-       screen_reader_create_service(sd);
+       int services_init_result = screen_reader_create_service(sd);
+       if (services_init_result != 0) {
+               ERROR("screen_reader_create_service failed");
+               return -1;
+       }
        DEBUG("[START] init direct reading");
        sd->reading_adapter_data = dbus_direct_reading_init();
        if (!sd->reading_adapter_data) {
index bcf46fd3de1ecaa8fda19672ae2c783d5db0844c..a8d95d7e0ba0fbf8b28cb0d43218ace250fd5c3c 100644 (file)
@@ -49,10 +49,19 @@ Service_Data *get_pointer_to_service_data_struct()
 int screen_reader_create_service(Service_Data *service_data)
 {
        vc_init();
-       tw_init();
+
+       bool tw_init_success = tw_init();
+       if (!tw_init_success) {
+               ERROR("tw_init failed");
+               return -1;
+       }
 
 #ifdef SCREEN_READER_TV
        service_data->spi_data = spi_init();
+       if (service_data->spi_data == NULL) {
+               ERROR("spi_init failed");
+               return -1;
+       }
 #endif
        return 0;
 }
index 67b1abec1eb16b42dcb6756cac3a837d2476335d..57c0cc3a55efd8ab8c316bb546a139995ce561a2 100644 (file)
@@ -935,8 +935,8 @@ bool tw_init(void)
 {
        INFO("--------------------- TTS_init START ---------------------");
        TWData *tw = tw_get_instance();
-       if (tw) {
-               return tw_get_instance()->init;
+       if (tw && tw->init == 1) {
+               return true;
        } else {
                ERROR("Fail to initialize TTS");
                return false;