Index: libs/libmyth/xmlparse.cpp
===================================================================
--- libs/libmyth/xmlparse.cpp	(revision 13594)
+++ libs/libmyth/xmlparse.cpp	(working copy)
@@ -2555,8 +2555,9 @@
     QPoint selectPoint(0,0);
     QPoint upArrowPoint(0,0);
     QPoint downArrowPoint(0,0);
+    QPoint rightArrowPoint(0,0);
+    QPoint leftArrowPoint(0,0);
     
-    
 
     //
     //  A Map to store the geometry of
@@ -2694,6 +2695,14 @@
                 }
                 else if (imgname.lower() == "leftarrow")
                 {
+                    QString imgpoint = "";
+                    imgpoint = info.attribute("location", "");
+                    if (!imgpoint.isNull() && !imgpoint.isEmpty())
+                    {
+                        leftArrowPoint = parsePoint(imgpoint);
+                        leftArrowPoint.setX((int)(leftArrowPoint.x() * wmult));
+                        leftArrowPoint.setY((int)(leftArrowPoint.y() * hmult));
+                    }
                     leftarrow_img = gContext->LoadScalePixmap(file);
                     if (!leftarrow_img)
                     {
@@ -2702,6 +2711,14 @@
                 }
                 else if (imgname.lower() == "rightarrow")
                 {
+                    QString imgpoint = "";
+                    imgpoint = info.attribute("location", "");
+                    if (!imgpoint.isNull() && !imgpoint.isEmpty())
+                    {
+                        rightArrowPoint = parsePoint(imgpoint);
+                        rightArrowPoint.setX((int)(rightArrowPoint.x() * wmult));
+                        rightArrowPoint.setY((int)(rightArrowPoint.y() * hmult));
+                    }
                     rightarrow_img = gContext->LoadScalePixmap(file);
                     if (!rightarrow_img)
                     {
@@ -2837,6 +2854,8 @@
 
     mtl->setUpArrowOffset(upArrowPoint);
     mtl->setDownArrowOffset(downArrowPoint);
+    mtl->setLeftArrowOffset(leftArrowPoint);
+    mtl->setRightArrowOffset(rightArrowPoint);
     mtl->setArrowImages(*uparrow_img, *downarrow_img, *leftarrow_img,
                         *rightarrow_img);
 
Index: libs/libmyth/uitypes.cpp
===================================================================
--- libs/libmyth/uitypes.cpp	(revision 13594)
+++ libs/libmyth/uitypes.cpp	(working copy)
@@ -3310,6 +3310,10 @@
     upArrowOffset.setY(0);
     downArrowOffset.setX(0);
     downArrowOffset.setY(0);
+    leftArrowOffset.setX(0);
+    leftArrowOffset.setY(0);
+    rightArrowOffset.setX(0);
+    rightArrowOffset.setY(0);
     incSearch = "";
 }
 
@@ -3616,14 +3620,14 @@
                     //
                     if (i == bins && hotspot_node->childCount() > 0)
                     {
-                        p->drawPixmap(x_location + (*highlight_map[i]).width() - right_arrow_image.width(),
-                                      y_location - QFontMetrics(tmpfont->face).height() + right_arrow_image.height() / 2,
+                        p->drawPixmap(x_location + (*highlight_map[i]).width() - right_arrow_image.width() + rightArrowOffset.x(),
+                                      y_location + rightArrowOffset.y() - QFontMetrics(tmpfont->face).height() + right_arrow_image.height() / 2,
                                       right_arrow_image);
                     }
                     if (i == 1 && hotspot_node->getParent()->getParent())
                     {
-                        p->drawPixmap(x_location,
-                                      y_location - QFontMetrics(tmpfont->face).height() + left_arrow_image.height() / 2,
+                        p->drawPixmap(x_location + leftArrowOffset.x(),
+                                      y_location + leftArrowOffset.y() - QFontMetrics(tmpfont->face).height() + left_arrow_image.height() / 2,
                                       left_arrow_image);
                     }
                 }
Index: libs/libmyth/uitypes.h
===================================================================
--- libs/libmyth/uitypes.h	(revision 13594)
+++ libs/libmyth/uitypes.h	(working copy)
@@ -1045,6 +1045,8 @@
     ~UIManagedTreeListType();
     void    setUpArrowOffset(QPoint& pt) { upArrowOffset = pt;}    
     void    setDownArrowOffset(QPoint& pt) { downArrowOffset = pt;}    
+    void    setLeftArrowOffset(QPoint& pt) {leftArrowOffset = pt;}
+    void    setRightArrowOffset(QPoint& pt) {rightArrowOffset = pt;}
     void    setSelectPoint(QPoint& pt) { selectPoint = pt;}
     void    setSelectPadding(int pad) {selectPadding = pad;}
     void    setArea(QRect an_area) { area = an_area; }
@@ -1150,6 +1152,8 @@
     QPoint                  selectPoint;
     QPoint                  upArrowOffset;
     QPoint                  downArrowOffset;
+    QPoint                  leftArrowOffset;
+    QPoint                  rightArrowOffset;
     QString                 incSearch;
     bool                    bIncSearchContains;
 };
