Fix issues w/ partial img decompr + buf img mode

Fixes #611
diff --git a/ChangeLog.md b/ChangeLog.md
index b2c7d8b..6f5eb21 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -8,6 +8,15 @@
 This allows both AltiVec-equipped (PowerPC G4 and G5) and non-AltiVec-equipped
 (PowerPC G3) CPUs to be supported using the same build of libjpeg-turbo.
 
+2. Fixed two issues that prevented partial image decompression from working
+properly with buffered-image mode:
+
+     - Attempting to call `jpeg_crop_scanline()` after
+`jpeg_start_decompress()` but before `jpeg_start_output()` resulted in an error
+("Improper call to JPEG library in state 207".)
+     - Attempting to use `jpeg_skip_scanlines()` resulted in an error ("Bogus
+virtual array access") under certain circumstances.
+
 
 2.0.7 ESR
 =========
diff --git a/jdapistd.c b/jdapistd.c
index 3b12008..6286262 100644
--- a/jdapistd.c
+++ b/jdapistd.c
@@ -163,7 +163,8 @@
   my_master_ptr master = (my_master_ptr)cinfo->master;
 #endif
 
-  if (cinfo->global_state != DSTATE_SCANNING || cinfo->output_scanline != 0)
+  if ((cinfo->global_state != DSTATE_SCANNING &&
+       cinfo->global_state != DSTATE_BUFIMAGE) || cinfo->output_scanline != 0)
     ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
 
   if (!xoffset || !width)
@@ -525,7 +526,7 @@
    * all of the entropy decoding occurs in jpeg_start_decompress(), assuming
    * that the input data source is non-suspending.  This makes skipping easy.
    */
-  if (cinfo->inputctl->has_multiple_scans) {
+  if (cinfo->inputctl->has_multiple_scans || cinfo->buffered_image) {
     if (cinfo->upsample->need_context_rows) {
       cinfo->output_scanline += lines_to_skip;
       cinfo->output_iMCU_row += lines_to_skip / lines_per_iMCU_row;