]> Pileus Git - ~andy/gtk/blobdiff - modules/engines/ms-windows/msw_style.c
win32: Fall back to raleigh with the classic theme
[~andy/gtk] / modules / engines / ms-windows / msw_style.c
index c9333c76f51ad02dd2e21f9410e73857ec82218a..f8a95227bc0fe5cea7bec0fedfc9f933faaada2c 100755 (executable)
@@ -16,9 +16,7 @@
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 /*
@@ -2569,21 +2567,25 @@ draw_extension (GtkStyle *style,
     {
       GtkNotebook *notebook = GTK_NOTEBOOK (widget);
 
-      /* Why this differs from gap_side, I have no idea.. */
-      int real_gap_side = gtk_notebook_get_tab_pos (notebook);
+      /* draw_themed_tab_button and draw_tab_button expect to work with tab
+       * position, instead of simply taking the "side of the gap" (gap_side)
+       * which simply said is the side of the tab that touches the notebook
+       * frame and is always the exact opposite of the gap side... */
+      int tab_pos = gtk_notebook_get_tab_pos (notebook);
 
       if (!draw_themed_tab_button (style, cr, state_type,
-                                  GTK_NOTEBOOK (widget), x, y,
-                                  width, height, real_gap_side))
+                                  notebook, x, y,
+                                  width, height, tab_pos))
        {
          if (!draw_tab_button (style, cr, state_type,
                                shadow_type, widget,
-                               detail, x, y, width, height, real_gap_side))
+                               detail, x, y, width, height, tab_pos))
            {
+             /* GtkStyle expects the usual gap_side */
              parent_class->draw_extension (style, cr, state_type,
                                            shadow_type, widget, detail,
                                            x, y, width, height,
-                                           real_gap_side);
+                                           gap_side);
            }
        }
     }