Changeset 0ed2e0e in mainline for uspace/srv/console/console.c


Ignore:
Timestamp:
2009-06-15T18:50:11Z (15 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
af7383f
Parents:
87d3ecf
Message:

Revert clandestine removal of delayed cursor position update by c4456.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/console/console.c

    r87d3ecf r0ed2e0e  
    288288static void write_char(console_t *cons, wchar_t ch)
    289289{
     290        bool flush_cursor = false;
     291
    290292        switch (ch) {
    291293        case '\n':
    292294                fb_pending_flush();
     295                flush_cursor = true;
    293296                cons->scr.position_y++;
    294297                cons->scr.position_x = 0;
     
    316319        }
    317320       
    318         if (cons->scr.position_x >= cons->scr.size_x)
     321        if (cons->scr.position_x >= cons->scr.size_x) {
     322                flush_cursor = true;
    319323                cons->scr.position_y++;
     324        }
    320325       
    321326        if (cons->scr.position_y >= cons->scr.size_y) {
     
    328333                        async_msg_1(fb_info.phone, FB_SCROLL, 1);
    329334        }
    330        
     335
     336        if (cons == active_console && flush_cursor)
     337                curs_goto(cons->scr.position_x, cons->scr.position_y);
    331338        cons->scr.position_x = cons->scr.position_x % cons->scr.size_x;
    332339}
     
    482489                write_char(cons, ch);
    483490        }
    484        
    485         if (cons == active_console)
    486                 curs_goto(cons->scr.position_x, cons->scr.position_y);
    487491       
    488492        async_serialize_end();
Note: See TracChangeset for help on using the changeset viewer.