Program: 26401
Project: 26401
Buggy source:
protected void mouseClicked(int x,int y,int button){
  Marker marker=this.getMarkerNearScreenPos(x,y);
  Marker prevMarker=this.mw.markerManager.selectedMarker;
  if (button == 0) {
    if (this.dimensionLabel.posWithin(x,y)) {
      if (this.currentTextDialog == null) {
        this.currentTextDialog=new DimensionTextDialog(this.mapView.getDimension());
      }
    }
 else     if (this.optionsLabel.posWithin(x,y)) {
      this.mc.displayGuiScreen(new MwGuiOptions(this.mw,this));
    }
 else {
      this.mouseLeftHeld=1;
      this.mouseLeftDragStartX=x;
      this.mouseLeftDragStartY=y;
      this.mw.markerManager.selectedMarker=marker;
      if ((marker != null) && (prevMarker == marker)) {
        this.movingMarker=marker;
        this.movingMarkerXStart=marker.x;
        this.movingMarkerZStart=marker.z;
      }
    }
  }
 else   if (button == 1) {
    this.mouseRightHeld=1;
    if (this.currentTextDialog == null) {
      if ((marker != null) && (prevMarker == marker)) {
        this.currentTextDialog=new MarkerTextDialog(this.mw.markerManager,marker);
      }
 else       if (marker == null) {
        String group=this.mw.markerManager.getVisibleGroupName();
        if (group.equals("String_Node_Str")) {
          group="String_Node_Str";
        }
        int scale=1;
        if (this.mapView.getDimension() == -1) {
          scale=8;
        }
        this.currentTextDialog=new MarkerTextDialog(this.mw.markerManager,"String_Node_Str",group,this.mouseBlockX * scale,(this.mouseBlockY > 0) ? this.mouseBlockY : this.mw.defaultTeleportHeight,this.mouseBlockZ * scale);
      }
    }
  }
  this.viewXStart=this.mapView.getX();
  this.viewZStart=this.mapView.getZ();
}

Fixed version (ground truth):
protected void mouseClicked(int x,int y,int button){
  Marker marker=this.getMarkerNearScreenPos(x,y);
  Marker prevMarker=this.mw.markerManager.selectedMarker;
  if (button == 0) {
    if (this.dimensionLabel.posWithin(x,y)) {
      if (this.currentTextDialog == null) {
        this.currentTextDialog=new DimensionTextDialog(this.mapView.getDimension());
      }
    }
 else     if (this.optionsLabel.posWithin(x,y)) {
      this.mc.displayGuiScreen(new MwGuiOptions(this.mw,this));
    }
 else {
      this.mouseLeftHeld=1;
      this.mouseLeftDragStartX=x;
      this.mouseLeftDragStartY=y;
      this.mw.markerManager.selectedMarker=marker;
      if ((marker != null) && (prevMarker == marker)) {
        this.movingMarker=marker;
        this.movingMarkerXStart=marker.x;
        this.movingMarkerZStart=marker.z;
      }
    }
  }
 else   if (button == 1) {
    this.mouseRightHeld=1;
    if (this.currentTextDialog == null) {
      if ((marker != null) && (prevMarker == marker)) {
        this.currentTextDialog=new MarkerTextDialog(this.mw.markerManager,marker);
      }
 else       if (marker == null) {
        String group=this.mw.markerManager.getVisibleGroupName();
        if (group.equals("String_Node_Str")) {
          group="String_Node_Str";
        }
        int mx, my, mz;
        if (this.isPlayerNearScreenPos(x,y)) {
          int scale=1;
          if (this.mw.playerDimension == -1) {
            scale=8;
          }
          mx=this.mw.playerXInt;
          my=this.mw.playerYInt;
          mz=this.mw.playerZInt;
        }
 else {
          int scale=1;
          if (this.mapView.getDimension() == -1) {
            scale=8;
          }
          mx=this.mouseBlockX * scale;
          my=(this.mouseBlockY > 0) ? this.mouseBlockY : this.mw.defaultTeleportHeight;
          mz=this.mouseBlockZ * scale;
        }
        this.currentTextDialog=new MarkerTextDialog(this.mw.markerManager,"String_Node_Str",group,mx,my,mz);
      }
    }
  }
  this.viewXStart=this.mapView.getX();
  this.viewZStart=this.mapView.getZ();
}