Closed Bug 676842 Opened 9 years ago Closed 9 years ago
Text Editor State .h should include ns String .h
Hi, When trying to include nsTextEditorState.h in a file which does not include (directly or indirectly nsString.h), compilation fails: /home/arno/mozilla/content/html/content/src/nsTextEditorState.h:269:13: error: ‘nsCString’ was not declared in this scope /home/arno/mozilla/content/html/content/src/nsTextEditorState.h:269:22: error: template argument 1 is invalid /home/arno/mozilla/content/html/content/src/nsTextEditorState.h:271:11: error: ‘nsString’ does not name a type /home/arno/mozilla/content/html/content/src/nsTextEditorState.h: In member function ‘void nsTextEditorState::EmptyValue()’: /home/arno/mozilla/content/html/content/src/nsTextEditorState.h:163:41: error: base operand of ‘->’ is not a pointer /home/arno/mozilla/content/html/content/src/nsTextEditorState.h: In member function ‘PRBool nsTextEditorState::IsEmpty() const’: /home/arno/mozilla/content/html/content/src/nsTextEditorState.h:164:50: error: base operand of ‘->’ is not a pointer /home/arno/mozilla/content/html/content/src/nsTextEditorState.h: In member function ‘void nsTextEditorState::ClearValueCache()’: /home/arno/mozilla/content/html/content/src/nsTextEditorState.h:213:28: error: ‘mCachedValue’ was not declared in this scope
Assignee: nobody → arno
Status: NEW → ASSIGNED
Attachment #551043 - Flags: review?(ehsan)
A good practice that helps avoid problems of this sort is to make each class-specific .h file the first #include in its .cpp file. In other words, if nsTextEditorState.h were the first #include in nsTextEditorState.cpp, this wouldn't have happened.
Landed the patch on mozilla-inbound. Thanks for writing the patch!
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla8
You need to log in before you can comment on or make changes to this bug.