prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Higher resolution icons are still saved in 32x32 directory
  Despite Lutris bumping its icon size to 128x128 (currently it's still 64x64 as bump to 128x128 hasn't been deployed yet), it still saves the icons into `icons/hicolor/32x32`.
  It should probably not do that and save it in proper 128x128 location instead.
  
  </issue>
  <code>
  [start of lutris/settings.py]
  1 """Internal settings."""
  2 import os
  3 from gi.repository import GLib
  4 from lutris.util.settings import SettingsIO
  5 from lutris import __version__
  6 
  7 PROJECT = "Lutris"
  8 VERSION = __version__
  9 COPYRIGHT = "(c) 2010-2019 Lutris Gaming Platform"
  10 AUTHORS = [
  11     "The Lutris team"
  12 ]
  13 
  14 # Paths
  15 CONFIG_DIR = os.path.join(GLib.get_user_config_dir(), "lutris")
  16 CONFIG_FILE = os.path.join(CONFIG_DIR, "lutris.conf")
  17 DATA_DIR = os.path.join(GLib.get_user_data_dir(), "lutris")
  18 RUNNER_DIR = os.path.join(DATA_DIR, "runners")
  19 RUNTIME_DIR = os.path.join(DATA_DIR, "runtime")
  20 CACHE_DIR = os.path.join(GLib.get_user_cache_dir(), "lutris")
  21 GAME_CONFIG_DIR = os.path.join(CONFIG_DIR, "games")
  22 
  23 TMP_PATH = os.path.join(CACHE_DIR, "tmp")
  24 BANNER_PATH = os.path.join(DATA_DIR, "banners")
  25 COVERART_PATH = os.path.join(DATA_DIR, "coverart")
  26 ICON_PATH = os.path.join(GLib.get_user_data_dir(), "icons", "hicolor", "32x32", "apps")
  27 
  28 sio = SettingsIO(CONFIG_FILE)
  29 PGA_DB = sio.read_setting("pga_path") or os.path.join(DATA_DIR, "pga.db")
  30 SITE_URL = sio.read_setting("website") or "https://lutris.net"
  31 
  32 INSTALLER_URL = SITE_URL + "/api/installers/%s"
  33 # XXX change this, should query on the installer, not the game.
  34 INSTALLER_REVISION_URL = SITE_URL + "/api/installers/games/%s/revisions/%s"
  35 GAME_URL = SITE_URL + "/games/%s/"
  36 ICON_URL = SITE_URL + "/games/icon/%s.png"
  37 BANNER_URL = SITE_URL + "/games/banner/%s.jpg"
  38 RUNTIME_URL = "https://lutris.net/api/runtime"
  39 
  40 read_setting = sio.read_setting
  41 write_setting = sio.write_setting
  42
  [end of lutris/settings.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/lutris/settings.py b/lutris/settings.py
  --- a/lutris/settings.py
  +++ b/lutris/settings.py
  @@ -23,7 +23,7 @@
   TMP_PATH = os.path.join(CACHE_DIR, "tmp")
   BANNER_PATH = os.path.join(DATA_DIR, "banners")
   COVERART_PATH = os.path.join(DATA_DIR, "coverart")
  -ICON_PATH = os.path.join(GLib.get_user_data_dir(), "icons", "hicolor", "32x32", "apps")
  +ICON_PATH = os.path.join(GLib.get_user_data_dir(), "icons", "hicolor", "128x128", "apps")
   
   sio = SettingsIO(CONFIG_FILE)
   PGA_DB = sio.read_setting("pga_path") or os.path.join(DATA_DIR, "pga.db")
  
verification_info: {"golden_diff": "diff --git a/lutris/settings.py b/lutris/settings.py\n--- a/lutris/settings.py\n+++ b/lutris/settings.py\n@@ -23,7 +23,7 @@\n TMP_PATH = os.path.join(CACHE_DIR, \"tmp\")\n BANNER_PATH = os.path.join(DATA_DIR, \"banners\")\n COVERART_PATH = os.path.join(DATA_DIR, \"coverart\")\n-ICON_PATH = os.path.join(GLib.get_user_data_dir(), \"icons\", \"hicolor\", \"32x32\", \"apps\")\n+ICON_PATH = os.path.join(GLib.get_user_data_dir(), \"icons\", \"hicolor\", \"128x128\", \"apps\")\n \n sio = SettingsIO(CONFIG_FILE)\n PGA_DB = sio.read_setting(\"pga_path\") or os.path.join(DATA_DIR, \"pga.db\")\n", "issue": "Higher resolution icons are still saved in 32x32 directory\nDespite Lutris bumping its icon size to 128x128 (currently it's still 64x64 as bump to 128x128 hasn't been deployed yet), it still saves the icons into `icons/hicolor/32x32`.\r\nIt should probably not do that and save it in proper 128x128 location instead.\n", "before_files": [{"content": "\"\"\"Internal settings.\"\"\"\nimport os\nfrom gi.repository import GLib\nfrom lutris.util.settings import SettingsIO\nfrom lutris import __version__\n\nPROJECT = \"Lutris\"\nVERSION = __version__\nCOPYRIGHT = \"(c) 2010-2019 Lutris Gaming Platform\"\nAUTHORS = [\n    \"The Lutris team\"\n]\n\n# Paths\nCONFIG_DIR = os.path.join(GLib.get_user_config_dir(), \"lutris\")\nCONFIG_FILE = os.path.join(CONFIG_DIR, \"lutris.conf\")\nDATA_DIR = os.path.join(GLib.get_user_data_dir(), \"lutris\")\nRUNNER_DIR = os.path.join(DATA_DIR, \"runners\")\nRUNTIME_DIR = os.path.join(DATA_DIR, \"runtime\")\nCACHE_DIR = os.path.join(GLib.get_user_cache_dir(), \"lutris\")\nGAME_CONFIG_DIR = os.path.join(CONFIG_DIR, \"games\")\n\nTMP_PATH = os.path.join(CACHE_DIR, \"tmp\")\nBANNER_PATH = os.path.join(DATA_DIR, \"banners\")\nCOVERART_PATH = os.path.join(DATA_DIR, \"coverart\")\nICON_PATH = os.path.join(GLib.get_user_data_dir(), \"icons\", \"hicolor\", \"32x32\", \"apps\")\n\nsio = SettingsIO(CONFIG_FILE)\nPGA_DB = sio.read_setting(\"pga_path\") or os.path.join(DATA_DIR, \"pga.db\")\nSITE_URL = sio.read_setting(\"website\") or \"https://lutris.net\"\n\nINSTALLER_URL = SITE_URL + \"/api/installers/%s\"\n# XXX change this, should query on the installer, not the game.\nINSTALLER_REVISION_URL = SITE_URL + \"/api/installers/games/%s/revisions/%s\"\nGAME_URL = SITE_URL + \"/games/%s/\"\nICON_URL = SITE_URL + \"/games/icon/%s.png\"\nBANNER_URL = SITE_URL + \"/games/banner/%s.jpg\"\nRUNTIME_URL = \"https://lutris.net/api/runtime\"\n\nread_setting = sio.read_setting\nwrite_setting = sio.write_setting\n", "path": "lutris/settings.py"}]}