Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 354471
Collapse All | Expand All

(-)file_not_specified_in_diff (-9 / +31 lines)
Line  Link Here
0
-- konsole-4.7.2/src/Character.h
0
++ konsole-4.7.2/src/Character.h
Lines 67-74 Link Here
67
  inline Character(quint16 _c = ' ',
67
  inline Character(quint16 _c = ' ',
68
            CharacterColor  _f = CharacterColor(COLOR_SPACE_DEFAULT,DEFAULT_FORE_COLOR),
68
            CharacterColor  _f = CharacterColor(COLOR_SPACE_DEFAULT,DEFAULT_FORE_COLOR),
69
            CharacterColor  _b = CharacterColor(COLOR_SPACE_DEFAULT,DEFAULT_BACK_COLOR),
69
            CharacterColor  _b = CharacterColor(COLOR_SPACE_DEFAULT,DEFAULT_BACK_COLOR),
70
            quint8  _r = DEFAULT_RENDITION)
70
            quint8  _r = DEFAULT_RENDITION,
71
       : character(_c), rendition(_r), foregroundColor(_f), backgroundColor(_b) {}
71
	    bool _real = true)
72
       : character(_c), rendition(_r), foregroundColor(_f), backgroundColor(_b), isRealCharacter(_real) {}
72
73
73
  union
74
  union
74
  {
75
  {
Lines 92-97 Link Here
92
  /** The color used to draw this character's background. */
93
  /** The color used to draw this character's background. */
93
  CharacterColor  backgroundColor;
94
  CharacterColor  backgroundColor;
94
95
96
  /** Indicate whether this character really exists, or exists simply as place holder.
97
   *
98
   *  TODO: this boolean filed can be further improved to become a enum filed, which
99
   *  indicates different roles:
100
   *
101
   *    RealCharacter: a character which really exists
102
   *    PlaceHolderCharacter: a character which exists as place holder
103
   *    TabStopCharacter: a special place holder for HT('\t')
104
   */
105
  bool isRealCharacter;
106
95
  /** 
107
  /** 
96
   * Returns true if this character has a transparent background when
108
   * Returns true if this character has a transparent background when
97
   * it is drawn with the specified @p palette.
109
   * it is drawn with the specified @p palette.
98
-- konsole-4.7.2/src/Screen.cpp
110
++ konsole-4.7.2/src/Screen.cpp
Lines 65-71 Link Here
65
Character Screen::defaultChar = Character(' ',
65
Character Screen::defaultChar = Character(' ',
66
        CharacterColor(COLOR_SPACE_DEFAULT,DEFAULT_FORE_COLOR),
66
        CharacterColor(COLOR_SPACE_DEFAULT,DEFAULT_FORE_COLOR),
67
        CharacterColor(COLOR_SPACE_DEFAULT,DEFAULT_BACK_COLOR),
67
        CharacterColor(COLOR_SPACE_DEFAULT,DEFAULT_BACK_COLOR),
68
        DEFAULT_RENDITION);
68
        DEFAULT_RENDITION,
69
        false);
69
70
70
//#define REVERSE_WRAPPED_LINES  // for wrapped line debug
71
//#define REVERSE_WRAPPED_LINES  // for wrapped line debug
71
72
Lines 663-668 Link Here
663
    currentChar.foregroundColor = effectiveForeground;
664
    currentChar.foregroundColor = effectiveForeground;
664
    currentChar.backgroundColor = effectiveBackground;
665
    currentChar.backgroundColor = effectiveBackground;
665
    currentChar.rendition = effectiveRendition;
666
    currentChar.rendition = effectiveRendition;
667
    currentChar.isRealCharacter = true;
666
668
667
    int i = 0;
669
    int i = 0;
668
    int newCursorX = cuX + w--;
670
    int newCursorX = cuX + w--;
Lines 678-683 Link Here
678
        ch.foregroundColor = effectiveForeground;
680
        ch.foregroundColor = effectiveForeground;
679
        ch.backgroundColor = effectiveBackground;
681
        ch.backgroundColor = effectiveBackground;
680
        ch.rendition = effectiveRendition;
682
        ch.rendition = effectiveRendition;
683
        ch.isRealCharacter = false;
681
684
682
        w--;
685
        w--;
683
    }
686
    }
Lines 813-819 Link Here
813
    int topLine = loca/columns;
816
    int topLine = loca/columns;
814
    int bottomLine = loce/columns;
817
    int bottomLine = loce/columns;
815
818
816
    Character clearCh(c,currentForeground,currentBackground,DEFAULT_RENDITION);
819
    Character clearCh(c,currentForeground,currentBackground,DEFAULT_RENDITION,false);
817
820
818
    //if the character being used to clear the area is the same as the
821
    //if the character being used to clear the area is the same as the
819
    //default character, the affected lines can simply be shrunk.
822
    //default character, the affected lines can simply be shrunk.
820
-- konsole-4.7.2/src/TerminalCharacterDecoder.cpp
823
++ konsole-4.7.2/src/TerminalCharacterDecoder.cpp
Lines 102-109 Link Here
102
    
102
    
103
    for (int i=0;i<outputCount;)
103
    for (int i=0;i<outputCount;)
104
    {
104
    {
105
        plainText.append( QChar(characters[i].character) );
105
        if ( characters[i].isRealCharacter )
106
        i += qMax(1,konsole_wcwidth(characters[i].character));
106
        {
107
    	    plainText.append( QChar(characters[i].character) );
108
    	    i += qMax(1,konsole_wcwidth(characters[i].character));
109
    	}
110
    	else
111
    	{
112
    	    ++i;  // or, shoulw we 'break' directly here?
113
    	}
107
    }
114
    }
108
    *_output << plainText;
115
    *_output << plainText;
109
}
116
}

Return to bug 354471