diff -up subtitleeditor-0.39.0/plugins/subtitleformats/sami/sami.cc.temp-addr subtitleeditor-0.39.0/plugins/subtitleformats/sami/sami.cc --- subtitleeditor-0.39.0/plugins/subtitleformats/sami/sami.cc.temp-addr 2011-06-18 10:05:15.000000000 +0200 +++ subtitleeditor-0.39.0/plugins/subtitleformats/sami/sami.cc 2011-07-18 12:26:38.510180079 +0200 @@ -155,7 +155,7 @@ public: int state = 0; Glib::ustring line; Glib::ustring text; - Subtitle* curSt; + Subtitle curSt; char tmptext[MAXBUF+1] = ""; char *p = NULL, *q = NULL; if (!file.getline(line)) @@ -174,8 +174,8 @@ public: start_sync = utility::string_to_int(inptr + 6); // Get a line from the current subtitle on memory - curSt = &subtitles.append(); - curSt->set_start(start_sync); + curSt = subtitles.append(); + curSt.set_start(start_sync); state = SAMI_STATE_SYNC_START; continue; @@ -239,14 +239,14 @@ public: // Now we are sure that this line is the end sync. end_sync = utility::string_to_int(q + 6); - curSt->set_end(end_sync); + curSt.set_end(end_sync); *p = '\0'; trail_space(tmptext); // finalize the end sync of current line if (tmptext[0] != '\0') - curSt->set_text(tmptext); + curSt.set_text(tmptext); // an important check if this is end sync. // Is there any delimiter " " in this line? @@ -276,14 +276,14 @@ public: else { end_sync = SAMISYNC_MAXVAL; - curSt->set_end(end_sync); + curSt.set_end(end_sync); *p = '\0'; trail_space(tmptext); // finalize the end sync of current line if (tmptext[0] != '\0') - curSt->set_text(tmptext); + curSt.set_text(tmptext); state = SAMI_STATE_FORCE_QUIT; break; @@ -347,7 +347,7 @@ public: info.name = "Sami"; info.extension = "smi"; info.pattern = "^<SAMI>"; - + return info; }