From: John Hodge Date: Tue, 10 Sep 2013 00:33:31 +0000 (+0800) Subject: Usermode/AxWin3 - Slight cleanup in richtext code X-Git-Tag: rel0.15~233 X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=aecee5dd72b5d421426bf87fddedde5c09bc1f1f;p=tpg%2Facess2.git Usermode/AxWin3 - Slight cleanup in richtext code --- diff --git a/Usermode/Applications/axwin3_src/WM/renderers/richtext.c b/Usermode/Applications/axwin3_src/WM/renderers/richtext.c index 17d55cc0..63ee8e56 100644 --- a/Usermode/Applications/axwin3_src/WM/renderers/richtext.c +++ b/Usermode/Applications/axwin3_src/WM/renderers/richtext.c @@ -382,35 +382,33 @@ int Renderer_RichText_HandleIPC_WriteLine(tWindow *Window, size_t Len, const voi tRichText_Line *prev = NULL; tRichText_Line *line = Renderer_RichText_int_GetLine(Window, msg->Line, &prev); int reqspace = ((Len - sizeof(*msg)) + LINE_SPACE_UNIT-1) & ~(LINE_SPACE_UNIT-1); + tRichText_Line *new = NULL; if( !line ) { // New line! tRichText_Line *new = malloc(sizeof(*line) + reqspace); - // TODO: Bookkeeping on how much memory each window uses new->Next = (prev ? prev->Next : NULL); new->Prev = prev; new->Num = msg->Line; - new->Space = reqspace; - *(prev ? &prev->Next : &info->FirstLine) = new; - if(new->Next) new->Next->Prev = new; - line = new; } else if( line->Space < reqspace ) { // Need to allocate more space tRichText_Line *new = realloc(line, sizeof(*line) + reqspace); + } + else + { + // It fits :) + } + if( new ) + { // TODO: Bookkeeping on how much memory each window uses new->Space = reqspace; - if(new->Prev) new->Prev->Next = new; else info->FirstLine = new; if(new->Next) new->Next->Prev = new; line = new; } - else - { - // It fits :) - } line->ByteLength = Len - sizeof(*msg) - 1; memcpy(line->Data, msg->LineData, Len - sizeof(*msg)); line->bIsClean = 0;