WordPress.org

Make WordPress Core

Ticket #29856: 29856.3.diff

File 29856.3.diff, 1.6 KB (added by markoheijnen, 6 years ago)

Move running filters to set_quality method.

  • src/wp-includes/class-wp-image-editor.php

     
    213213         */
    214214        public function get_quality() {
    215215                if ( ! $this->quality ) {
     216                        $this->set_quality();
     217                }
     218
     219                return $this->quality;
     220        }
     221
     222        /**
     223         * Sets Image Compression quality on a 1-100% scale.
     224         *
     225         * @since 3.5.0
     226         * @access public
     227         *
     228         * @param int $quality Compression Quality. Range: [1,100]
     229         * @return boolean|WP_Error True if set successfully; WP_Error on failure.
     230         */
     231        public function set_quality( $quality = null ) {
     232                if ( null === $quality ) {
    216233                        /**
    217234                         * Filter the default image compression quality setting.
    218235                         *
     
    238255                                $quality = apply_filters( 'jpeg_quality', $quality, 'image_resize' );
    239256                        }
    240257
    241                         if ( ! $this->set_quality( $quality ) ) {
    242                                 $this->quality = $this->default_quality;
     258                        if ( $quality < 0 || $quality > 100 ) {
     259                                $quality = $this->default_quality;
    243260                        }
    244261                }
    245262
    246                 return $this->quality;
    247         }
    248 
    249         /**
    250          * Sets Image Compression quality on a 1-100% scale.
    251          *
    252          * @since 3.5.0
    253          * @access public
    254          *
    255          * @param int $quality Compression Quality. Range: [1,100]
    256          * @return boolean|WP_Error True if set successfully; WP_Error on failure.
    257          */
    258         public function set_quality( $quality = null ) {
    259                 if ( null === $quality ) {
    260                         $quality = $this->default_quality;
    261                 }
    262 
    263263                // Allow 0, but squash to 1 due to identical images in GD, and for backwards compatibility.
    264264                if ( 0 === $quality ) {
    265265                        $quality = 1;