From 6453876e12bc1c214a8831d2931f916124f97df0 Mon Sep 17 00:00:00 2001
From: Robert Roebling <robert@roebling.de>
Date: Thu, 27 May 1999 13:14:45 +0000
Subject: [PATCH]   Doc updates.   Minor dc change.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2581 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/dc.tex           |   2 +-
 docs/latex/wx/dialog.tex       |  49 +++++++++++++--
 docs/latex/wx/frame.tex        |  38 ++++++------
 docs/latex/wx/window.tex       | 107 +++++++++++++++------------------
 src/gtk/dcclient.cpp           |  10 +--
 src/gtk1/dcclient.cpp          |  10 +--
 utils/tex2rtf/src/rtfutils.cpp |   2 +-
 7 files changed, 119 insertions(+), 99 deletions(-)

diff --git a/docs/latex/wx/dc.tex b/docs/latex/wx/dc.tex
index 521cafa5b0..8237643877 100644
--- a/docs/latex/wx/dc.tex
+++ b/docs/latex/wx/dc.tex
@@ -646,7 +646,7 @@ wxXOR                 src XOR dst
 
 The default is wxCOPY, which simply draws with the current colour.
 The others combine the current colour and the background using a
-logical operation.  wxXOR is commonly used for drawing rubber bands or
+logical operation.  wxINVERT is commonly used for drawing rubber bands or
 moving outlines, since drawing twice reverts to the original colour.
 
 \membersection{wxDC::SetMapMode}\label{wxdcsetmapmode}
diff --git a/docs/latex/wx/dialog.tex b/docs/latex/wx/dialog.tex
index 7a071fd3ef..244e4a9959 100644
--- a/docs/latex/wx/dialog.tex
+++ b/docs/latex/wx/dialog.tex
@@ -33,7 +33,7 @@ dialog to respond to system close events.
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the dialog box (Motif only).}
 \twocolitem{\windowstyle{wxDEFAULT\_DIALOG\_STYLE}}{Equivalent to a combination of wxCAPTION, wxSYSTEM\_MENU and wxTHICK\_FRAME}
-\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Display a resizeable frame around the window (Motif only).}
+\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Display a resizeable frame around the window (Unix only).}
 \twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu.}
 \twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window.}
 \twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{The dialog stays on top of all other windows (Windows only).}
@@ -41,7 +41,8 @@ dialog to respond to system close events.
 should not have 3D borders unless specified in the control.}
 \end{twocollist}
 
-Under Motif, MWM (the Motif Window Manager) should be running for any of these styles to have an effect.
+Under Unix or Linux, MWM (the Motif Window Manager) or other window managers reckognizing
+the MHM hints should be running for any of these styles to have an effect.
 
 See also \helpref{Generic window styles}{windowstyles}.
 
@@ -133,8 +134,24 @@ invocation.
 \wxheading{See also}
 
 \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
-\helpref{wxWindow::GetReturnCode}{wxwindowgetreturncode},\rtfsp
-\helpref{wxWindow::SetReturnCode}{wxwindowsetreturncode}
+\helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode},\rtfsp
+\helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}
+
+\membersection{wxDialog::GetReturnCode}\label{wxdialoggetreturncode}
+
+\func{int}{GetReturnCode}{\void}
+
+Gets the return code for this window.
+
+\wxheading{Remarks}
+
+A return code is normally associated with a modal dialog, where \helpref{wxDialog::ShowModal}{wxdialogshowmodal} returns
+a code to the application.
+
+\wxheading{See also}
+
+\helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
+\helpref{wxDialog::EndModal}{wxdialogendmodal}
 
 \membersection{wxDialog::GetTitle}\label{wxdialoggettitle}
 
@@ -146,7 +163,7 @@ Returns the title of the dialog box.
 
 \func{void}{Iconize}{\param{const bool}{ iconize}}
 
-Iconizes or restores the dialog.
+Iconizes or restores the dialog. Windows only.
 
 \wxheading{Parameters}
 
@@ -164,7 +181,7 @@ calling {\tt Iconize(FALSE)} will bring the window to the front, as does
 
 \constfunc{bool}{IsIconized}{\void}
 
-Returns TRUE if the dialog box is iconized.
+Returns TRUE if the dialog box is iconized. Windows only.
 
 \wxheading{Remarks}
 
@@ -269,6 +286,26 @@ until the dialog is hidden) or modeless (control returns immediately).
 
 \docparam{flag}{If TRUE, the dialog will be modal, otherwise it will be modeless.}
 
+\membersection{wxDialog::SetReturnCode}\label{wxdialogsetreturncode}
+
+\func{void}{SetReturnCode}{\param{int }{retCode}}
+
+Sets the return code for this window.
+
+\wxheading{Parameters}
+
+\docparam{retCode}{The integer return code, usually a control identifier.}
+
+\wxheading{Remarks}
+
+A return code is normally associated with a modal dialog, where \helpref{wxDialog::ShowModal}{wxdialogshowmodal} returns
+a code to the application. The function \helpref{wxDialog::EndModal}{wxdialogendmodal} calls {\bf SetReturnCode}.
+
+\wxheading{See also}
+
+\helpref{wxWindow::GetReturnCode}{wxwindowgetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
+\helpref{wxDialog::EndModal}{wxdialogendmodal}
+
 \membersection{wxDialog::SetTitle}\label{wxdialogsettitle}
 
 \func{void}{SetTitle}{\param{const wxString\& }{ title}}
diff --git a/docs/latex/wx/frame.tex b/docs/latex/wx/frame.tex
index 274958d01a..88dff01dc1 100644
--- a/docs/latex/wx/frame.tex
+++ b/docs/latex/wx/frame.tex
@@ -22,30 +22,26 @@ the remaining size available to application windows.
 
 \twocolwidtha{5cm}
 \begin{twocollist}\itemsep=0pt
-\twocolitem{\windowstyle{wxICONIZE}}{Display the frame iconized (minimized) (Windows only).}
+\twocolitem{\windowstyle{wxICONIZE}}{Display the frame iconized (minimized). Windows only. }
 \twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the frame.}
 \twocolitem{\windowstyle{wxDEFAULT\_FRAME\_STYLE}}{Defined as {\bf wxMINIMIZE\_BOX \pipe wxMAXIMIZE\_BOX \pipe wxTHICK\_FRAME \pipe wxSYSTEM\_MENU \pipe wxCAPTION}.}
-\twocolitem{\windowstyle{wxMINIMIZE}}{Identical to {\bf wxICONIZE}.}
-\twocolitem{\windowstyle{wxMINIMIZE\_BOX}}{Displays a minimize box on the frame (Windows and Motif only).}
-\twocolitem{\windowstyle{wxMAXIMIZE}}{Displays the frame maximized (Windows only).}
-\twocolitem{\windowstyle{wxMAXIMIZE\_BOX}}{Displays a maximize box on the frame (Windows and Motif only).}
-\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{Stay on top of other windows (Windows only).}
-\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Displays a system menu (Windows and Motif only).}
-\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Displays a thick frame around the window (Windows and Motif only).}
-\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Displays a resizeable border around the window (Motif only).}
-\twocolitem{\windowstyle{wxFRAME\_FLOAT\_ON\_PARENT}}{Windows only. Causes the frame to be above the parent window in the
+\twocolitem{\windowstyle{wxMINIMIZE}}{Identical to {\bf wxICONIZE}. Windows only. }
+\twocolitem{\windowstyle{wxMINIMIZE\_BOX}}{Displays a minimize box on the frame. }
+\twocolitem{\windowstyle{wxMAXIMIZE}}{Displays the frame maximized. Windows only. }
+\twocolitem{\windowstyle{wxMAXIMIZE\_BOX}}{Displays a maximize box on the frame. }
+\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{Stay on top of other windows. Windows only. }
+\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Displays a system menu. }
+\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Displays a thick frame around the window. Windows and Motif only.}
+\twocolitem{\windowstyle{wxSIMPLE\_BORDER}}{Displays no border or decorations. GTK and Windows only (?). }
+\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Displays a resizeable border around the window (Unix only).}
+\twocolitem{\windowstyle{wxFRAME\_FLOAT\_ON\_PARENT}}{Causes the frame to be above the parent window in the
 z-order and not shown in the taskbar. Without this style, frames are created as top-level windows that may be obscured by
-the parent window, and frame titles are shown in the taskbar. On Motif and GTK, the behaviour is always as if this
-style is not specified.}
-\twocolitem{\windowstyle{wxFRAME\_TOOL\_WINDOW}}{Windows only. Causes a frame with a small titlebar to be created;
-the frame title does not appear in the taskbar.}
+the parent window, and frame titles are shown in the taskbar. Windows only. }
+\twocolitem{\windowstyle{wxFRAME\_TOOL\_WINDOW}}Causes a frame with a small titlebar to be created;
+the frame title does not appear in the taskbar. Windows only. }
 \end{twocollist}
 
-See also \helpref{window styles overview}{windowstyles}. Currently the GTK port of wxWindows
-ignores all the window styles listed above as there is no standard way (yet) to inform the
-window manager about such options. Therefore, the only relevant window style flag which
-the GTK port recognizes is \windowstyle{wxSIMPLE\_BORDER} which brings up a frame without
-any window decorations. This can be used for a splash screen or specialized tooltip etc.
+See also \helpref{window styles overview}{windowstyles}.
 
 \wxheading{Remarks}
 
@@ -260,7 +256,7 @@ Returns a pointer to the toolbar currently associated with the frame (if any).
 
 \func{void}{Iconize}{\param{const bool}{ iconize}}
 
-Iconizes or restores the frame.
+Iconizes or restores the frame. Windows only.
 
 \wxheading{Parameters}
 
@@ -274,7 +270,7 @@ Iconizes or restores the frame.
 
 \constfunc{bool}{IsIconized}{\void}
 
-Returns TRUE if the frame is iconized.
+Returns TRUE if the frame is iconized. Windows only.
 
 \membersection{wxFrame::IsMaximized}\label{wxframeismaximized}
 
diff --git a/docs/latex/wx/window.tex b/docs/latex/wx/window.tex
index d2abf20559..5c4410bfb2 100644
--- a/docs/latex/wx/window.tex
+++ b/docs/latex/wx/window.tex
@@ -21,20 +21,20 @@ window class.
 \twocolwidtha{5cm}%
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\windowstyle{wxSIMPLE\_BORDER}}{Displays a thin border around the window. wxBORDER is the old name
-for this style.}
+for this style. Windows only. }
 \twocolitem{\windowstyle{wxDOUBLE\_BORDER}}{Displays a double border. Windows only.}
 \twocolitem{\windowstyle{wxSUNKEN\_BORDER}}{Displays a sunken border.}
 \twocolitem{\windowstyle{wxRAISED\_BORDER}}{Displays a raised border.}
-\twocolitem{\windowstyle{wxSTATIC\_BORDER}}{Displays a border suitable for a static control.}
+\twocolitem{\windowstyle{wxSTATIC\_BORDER}}{Displays a border suitable for a static control. Windows only. }
 \twocolitem{\windowstyle{wxTRANSPARENT\_WINDOW}}{The window is transparent, that is, it will not receive paint
 events. Windows only.}
 \twocolitem{\windowstyle{wxNO\_3D}}{Prevents the children of this window taking on 3D styles, even though
 the application-wide policy is for 3D controls. Windows only.}
 \twocolitem{\windowstyle{wxTAB\_TRAVERSAL}}{Use this to enable tab traversal for non-dialog windows.}
-\twocolitem{\windowstyle{wxVSCROLL}}{Use this style to enable a vertical scrollbar.}
-\twocolitem{\windowstyle{wxHSCROLL}}{Use this style to enable a horizontal scrollbar.}
+\twocolitem{\windowstyle{wxVSCROLL}}{Use this style to enable a vertical scrollbar. (Still used?) }
+\twocolitem{\windowstyle{wxHSCROLL}}{Use this style to enable a horizontal scrollbar. (Still used?) }
 \twocolitem{\windowstyle{wxCLIP\_CHILDREN}}{Use this style to eliminate flicker caused by the background being
-repainted, then children being painted over them. Windows-only.}
+repainted, then children being painted over them. Windows only.}
 \end{twocollist}
 
 See also \helpref{window styles overview}{windowstyles}.
@@ -70,7 +70,9 @@ should generate a default position for the window. If using the wxWindow class d
 an actual position.}
 
 \docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxWindows
-should generate a default size for the window.}
+should generate a default size for the window. If no suitable size can  be found, the
+window will be sized to 20x20 pixels so that the window is visible but obviously not
+correctly sized. }
 
 \docparam{style}{Window style. For generic window styles, please see \helpref{wxWindow}{wxwindow}.}
 
@@ -515,7 +517,7 @@ Returns the grandparent of a window, or NULL if there isn't one.
 \constfunc{void*}{GetHandle}{\void}
 
 Returns the platform-specific handle of the physical window. Cast it to an appropriate
-handle, such as {\bf HWND} for Windows or {\bf Widget} for Motif.
+handle, such as {\bf HWND} for Windows, {\bf Widget} for Motif or {\bf GtkWidget} for GTK.
 
 \membersection{wxWindow::GetId}\label{wxwindowgetid}
 
@@ -525,8 +527,8 @@ Returns the identifier of the window.
 
 \wxheading{Remarks}
 
-Each window has an integer identifier. If the application has not provided one,
-an identifier will be generated.
+Each window has an integer identifier. If the application has not provided one
+(or the default Id -1) an unique identifier with a negative value will be generated.
 
 \wxheading{See also}
 
@@ -556,7 +558,7 @@ implements the following methods:\par
 
 \membersection{wxWindow::GetLabel}
 
-\constfunc{virtual wxString\& }{GetLabel}{\void}
+\constfunc{virtual wxString }{GetLabel}{\void}
 
 Generic way of getting a label from any window, for
 identification purposes.
@@ -571,7 +573,7 @@ by name.
 
 \membersection{wxWindow::GetName}\label{wxwindowgetname}
 
-\constfunc{virtual wxString\& }{GetName}{\void}
+\constfunc{virtual wxString }{GetName}{\void}
 
 Returns the window's name.
 
@@ -596,22 +598,6 @@ Returns the parent of the window, or NULL if there is no parent.
 
 Returns the size and position of the window as a \helpref{wxRect}{wxrect} object.
 
-\membersection{wxWindow::GetReturnCode}\label{wxwindowgetreturncode}
-
-\func{int}{GetReturnCode}{\void}
-
-Gets the return code for this window.
-
-\wxheading{Remarks}
-
-A return code is normally associated with a modal dialog, where \helpref{wxDialog::ShowModal}{wxdialogshowmodal} returns
-a code to the application.
-
-\wxheading{See also}
-
-\helpref{wxWindow::SetReturnCode}{wxwindowsetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
-\helpref{wxDialog::EndModal}{wxdialogendmodal}
-
 \membersection{wxWindow::GetScrollThumb}\label{wxwindowgetscrollthumb}
 
 \func{virtual int}{GetScrollThumb}{\param{int }{orientation}}
@@ -731,7 +717,8 @@ Returns a pointer to the current validator for the window, or NULL if there is n
 
 \constfunc{long}{GetWindowStyleFlag}{\void}
 
-Gets the window style that was passed to the consructor or {\bf Create} member.
+Gets the window style that was passed to the consructor or {\bf Create} member. 
+{\bf GetWindowStyle} is synonymous.
 
 \membersection{wxWindow::InitDialog}\label{wxwindowinitdialog}
 
@@ -774,8 +761,10 @@ Returns TRUE if the window is shown, FALSE if it has been hidden.
 
 \func{void}{Layout}{\void}
 
-Invokes the constraint-based layout algorithm for this window. It is called
-automatically by the default {\bf wxWindow::OnSize} member.
+Invokes the constraint-based layout algorithm for this window. 
+
+See \helpref{wxWindow::SetAutoLayout}{wxwindowsetautolayout} on when
+this function gets called automatically using auto layout.
 
 \membersection{wxWindow::LoadFromResource}\label{wxwindowloadfromresource}
 
@@ -809,7 +798,8 @@ or frame).
 \func{virtual void}{MakeModal}{\param{const bool }{flag}}
 
 Disables all other windows in the application so that
-the user can only interact with this window.
+the user can only interact with this window. (This function
+is not implemented anywhere).
 
 \wxheading{Parameters}
 
@@ -931,7 +921,9 @@ Note that the ASCII values do not have explicit key codes: they are passed as AS
 values.
 
 This function is only relevant to top-level windows (frames and dialogs), and under
-Windows only.
+Windows only. Under GTK the normal EVT\_CHAR\_ event has the functionality, i.e.
+you can intercepts it and if you don't call \helpref{wxEvent::Skip}{wxeventskip}
+the window won't get the event.
 
 \wxheading{See also}
 
@@ -1063,7 +1055,9 @@ Called when the background of the window needs to be erased.
 
 \wxheading{Remarks}
 
-This event is only generated under Windows.
+This event is only generated under Windows. It is therefore recommended that
+you set the text background colour explicitly in order to prevent flicker.
+The default background colour under GTK is grey.
 
 To intercept this event, use the EVT\_ERASE\_BACKGROUND macro in an event table definition.
 
@@ -1430,7 +1424,7 @@ used by the application.
 
 \func{void}{OnSysColourChanged}{\param{wxOnSysColourChangedEvent\& }{event}}
 
-Called when the user has changed the system colours.
+Called when the user has changed the system colours. Windows only.
 
 \wxheading{Parameters}
 
@@ -1591,7 +1585,7 @@ implements the following methods:\par
 
 \func{virtual void}{ScrollWindow}{\param{int }{dx}, \param{int }{dy}, \param{const wxRect*}{ rect = NULL}}
 
-Physically scrolls the pixels in the window.
+Physically scrolls the pixels in the window and move child windows accordingly.
 
 \wxheading{Parameters}
 
@@ -1601,14 +1595,13 @@ Physically scrolls the pixels in the window.
 
 \docparam{rect}{Rectangle to invalidate. If this is NULL, the whole window is invalidated. If you
 pass a rectangle corresponding to the area of the window exposed by the scroll, your painting handler
-can optimise painting by checking for the invalidated region.}
+can optimise painting by checking for the invalidated region. This paramter is ignored under GTK,
+instead the regions to be invalidated are calculated automatically. }
 
 \wxheading{Remarks}
 
-Available only under Windows.
-
 Use this function to optimise your scrolling implementations, to minimise the area that must be
-redrawn.
+redrawn. Note that it is rarely required to call this function from a user program.
 
 \membersection{wxWindow::SetAcceleratorTable}\label{wxwindowsetacceleratortable}
 
@@ -1628,6 +1621,11 @@ be called automatically when the window is resized.
 \docparam{autoLayout}{Set this to TRUE if you wish the Layout function to be called
 from within wxWindow::OnSize functions.}
 
+\wxheading{Remarks}
+
+Note that this function is actually disabled for wxWindow and only indirectly
+takes affect for children of wxDialog, wxFrame, wxNotebook and wxSplitterWindow.
+
 \wxheading{See also}
 
 \helpref{wxWindow::SetConstraints}{wxwindowsetconstraints}
@@ -1645,12 +1643,17 @@ Sets the background colour of the window.
 \wxheading{Remarks}
 
 The background colour is usually painted by the default\rtfsp
-\helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground} event handler function.
+\helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground} event handler function
+under Windows and automatically under GTK.
 
 Note that setting the background colour does not cause an immediate refresh, so you
 may wish to call \helpref{wxWindow::Clear}{wxwindowclear} or \helpref{wxWindow::Refresh}{wxwindowrefresh} after
 calling this function.
 
+Note that when using this functions under GTK, you will disable the so called "themes",
+i.e. the user chosen apperance of windows and controls, including the themes of
+their parent windows.
+
 \wxheading{See also}
 
 \helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour},\rtfsp
@@ -1802,6 +1805,10 @@ The interpretation of foreground colour is open to interpretation according
 to the window class; it may be the text colour or other colour, or it may not
 be used at all.
 
+Note that when using this functions under GTK, you will disable the so called "themes",
+i.e. the user chosen apperance of windows and controls, including the themes of
+their parent windows.
+
 \wxheading{See also}
 
 \helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
@@ -1845,26 +1852,6 @@ Sets the window's name.
 
 Obsolete - use \helpref{wxDC::SetPalette}{wxdcsetpalette} instead.
 
-\membersection{wxWindow::SetReturnCode}\label{wxwindowsetreturncode}
-
-\func{void}{SetReturnCode}{\param{int }{retCode}}
-
-Sets the return code for this window.
-
-\wxheading{Parameters}
-
-\docparam{retCode}{The integer return code, usually a control identifier.}
-
-\wxheading{Remarks}
-
-A return code is normally associated with a modal dialog, where \helpref{wxDialog::ShowModal}{wxdialogshowmodal} returns
-a code to the application. The function \helpref{wxDialog::EndModal}{wxdialogendmodal} calls {\bf SetReturnCode}.
-
-\wxheading{See also}
-
-\helpref{wxWindow::GetReturnCode}{wxwindowgetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
-\helpref{wxDialog::EndModal}{wxdialogendmodal}
-
 \membersection{wxWindow::SetScrollbar}\label{wxwindowsetscrollbar}
 
 \func{virtual void}{SetScrollbar}{\param{int }{orientation}, \param{int }{position},\rtfsp
diff --git a/src/gtk/dcclient.cpp b/src/gtk/dcclient.cpp
index d71a04d8fb..dd1751a16d 100644
--- a/src/gtk/dcclient.cpp
+++ b/src/gtk/dcclient.cpp
@@ -487,8 +487,6 @@ void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap,
   
     wxCHECK_RET( bitmap.Ok(), _T("invalid bitmap") );
     
-    if (!m_window) return;
-    
     /* scale/translate size and position */
   
     int xx = XLOG2DEV(x);
@@ -497,6 +495,11 @@ void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap,
     int w = bitmap.GetWidth();
     int h = bitmap.GetHeight();
     
+    CalcBoundingBox( x, y );
+    CalcBoundingBox( x + w, y + h );
+    
+    if (!m_window) return;
+    
     int ww = XLOG2DEVREL(w);
     int hh = YLOG2DEVREL(h);
     
@@ -550,9 +553,6 @@ void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap,
         gdk_gc_set_clip_mask( m_penGC, (GdkBitmap *) NULL );
         gdk_gc_set_clip_origin( m_penGC, 0, 0 );
     }
-    
-    CalcBoundingBox( x, y );
-    CalcBoundingBox( x + w, y + h );
 }
 
 bool wxWindowDC::DoBlit( long xdest, long ydest, long width, long height,
diff --git a/src/gtk1/dcclient.cpp b/src/gtk1/dcclient.cpp
index d71a04d8fb..dd1751a16d 100644
--- a/src/gtk1/dcclient.cpp
+++ b/src/gtk1/dcclient.cpp
@@ -487,8 +487,6 @@ void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap,
   
     wxCHECK_RET( bitmap.Ok(), _T("invalid bitmap") );
     
-    if (!m_window) return;
-    
     /* scale/translate size and position */
   
     int xx = XLOG2DEV(x);
@@ -497,6 +495,11 @@ void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap,
     int w = bitmap.GetWidth();
     int h = bitmap.GetHeight();
     
+    CalcBoundingBox( x, y );
+    CalcBoundingBox( x + w, y + h );
+    
+    if (!m_window) return;
+    
     int ww = XLOG2DEVREL(w);
     int hh = YLOG2DEVREL(h);
     
@@ -550,9 +553,6 @@ void wxWindowDC::DoDrawBitmap( const wxBitmap &bitmap,
         gdk_gc_set_clip_mask( m_penGC, (GdkBitmap *) NULL );
         gdk_gc_set_clip_origin( m_penGC, 0, 0 );
     }
-    
-    CalcBoundingBox( x, y );
-    CalcBoundingBox( x + w, y + h );
 }
 
 bool wxWindowDC::DoBlit( long xdest, long ydest, long width, long height,
diff --git a/utils/tex2rtf/src/rtfutils.cpp b/utils/tex2rtf/src/rtfutils.cpp
index dfd45ccde9..93a6356748 100644
--- a/utils/tex2rtf/src/rtfutils.cpp
+++ b/utils/tex2rtf/src/rtfutils.cpp
@@ -540,7 +540,7 @@ bool WriteHPJ(char *filename)
   if (thePath.IsEmpty())
     thePath = ".";
   fprintf(fd, "[OPTIONS]\n");
-  fprintf(fd, "BMROOT=%s ; Assume that bitmaps are where the source is\n", thePath);
+  fprintf(fd, "BMROOT=%s ; Assume that bitmaps are where the source is\n", thePath.c_str());
   fprintf(fd, "TITLE=%s\n", helpTitle);
   fprintf(fd, "CONTENTS=Contents\n");
 
-- 
2.47.2

