]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/html/htmlcell.h
fixing overrelease and out-of-bounds write, fixes #13725
[wxWidgets.git] / include / wx / html / htmlcell.h
index 20816b952527aa2c333bf5cf4a226eecedb5fb49..328aefce8a4b79adb16c0c6f97c9b501c00c41dd 100644 (file)
@@ -91,10 +91,13 @@ public:
     const wxColour& GetFgColour() const { return m_fgColour; }
     void SetBgColour(const wxColour& c) { m_bgColour = c; }
     const wxColour& GetBgColour() const { return m_bgColour; }
+    void SetBgMode(int m) { m_bgMode = m; }
+    int GetBgMode() const { return m_bgMode; }
 
 private:
     wxHtmlSelectionState  m_selState;
     wxColour              m_fgColour, m_bgColour;
+    int                   m_bgMode;
 };
 
 
@@ -280,10 +283,13 @@ public:
     // Returned value : true if pagebreak was modified, false otherwise
     // Usage : while (container->AdjustPagebreak(&p)) {}
     virtual bool AdjustPagebreak(int *pagebreak,
-                                 wxArrayInt& known_pagebreaks) const;
+                                 const wxArrayInt& known_pagebreaks,
+                                 int pageHeight) const;
 
     // Sets cell's behaviour on pagebreaks (see AdjustPagebreak). Default
     // is true - the cell can be split on two pages
+    // If there is no way to fit a cell in the current page size, the cell
+    // is always split, ignoring this setting.
     void SetCanLiveOnPagebreak(bool can) { m_CanLiveOnPagebreak = can; }
 
     // Can the line be broken before this cell?
@@ -439,8 +445,10 @@ public:
                       wxHtmlRenderingInfo& info);
     virtual void DrawInvisible(wxDC& dc, int x, int y,
                                wxHtmlRenderingInfo& info);
-/*    virtual bool AdjustPagebreak(int *pagebreak, int *known_pagebreaks = NULL, int number_of_pages = 0) const;*/
-    virtual bool AdjustPagebreak(int *pagebreak, wxArrayInt& known_pagebreaks) const;
+
+    virtual bool AdjustPagebreak(int *pagebreak,
+                                 const wxArrayInt& known_pagebreaks,
+                                 int pageHeight) const;
 
     // insert cell at the end of m_Cells list
     void InsertCell(wxHtmlCell *cell);