Fix runtime crash

This commit is contained in:
NaiJi ✨ 2021-01-09 00:53:24 +03:00
parent 81bf4c7e8a
commit a766708147
2 changed files with 13 additions and 21 deletions

View File

@ -7,28 +7,20 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(SOURCES application.cpp board.cpp main.cpp) set(SOURCES application.cpp board.cpp main.cpp)
set(HEADER_FILES application.h board.h filepath_util.h output_util.h) set(HEADER_FILES application.h board.h filepath_util.h output_util.h)
set(SFML_STATIC_LIBRARIES TRUE) #set to FALSE if you have sfml installed from package manager and you don't want to link it statically
# STATIC # # STATIC #
# You need to build SFML from sources with cmake # You need to build SFML from sources with cmake
if (SFML_STATIC_LIBRARIES) set(SFML_LIB_DIR
set(SFML_LIB_DIR ${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-graphics.so.2.5
${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-graphics.so.2.5 ${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-system.so.2.5
${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-system.so.2.5 ${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-window.so.2.5)
${CMAKE_SOURCE_DIR}/SFML-2.5.1/lib/libsfml-window.so.2.5) set(SFML_INCL_DIR ${CMAKE_SOURCE_DIR}/SFML-2.5.1/include)
set(SFML_INCL_DIR ${CMAKE_SOURCE_DIR}/SFML-2.5.1/include) include_directories(${SFML_INCL_DIR})
add_executable(sliding-puzzle ${SOURCES} ${HEADER_FILES} )
include_directories(${SFML_INCL_DIR}) target_link_libraries(sliding-puzzle ${SFML_LIB_DIR})
add_executable(sliding-puzzle ${SOURCES} ${HEADER_FILES} )
target_link_libraries(sliding-puzzle ${SFML_LIB_DIR})
endif()
# DYNAMIC # # DYNAMIC #
# You only need to install SFML from your package manager # You only need to install SFML from your package manager
if (NOT SFML_STATIC_LIBRARIES) #find_package(SFML REQUIRED graphics window system)
find_package(SFML REQUIRED graphics window system) #include_directories(${SFML_INCLUDE_DIR})
include_directories(${SFML_INCLUDE_DIR}) #target_link_libraries(sliding-puzzle ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
add_executable(sliding-puzzle ${SOURCES} ${HEADER_FILES} ) #add_executable(sliding-puzzle ${SOURCES} ${HEADER_FILES} )
target_link_libraries(sliding-puzzle ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
endif()

View File

@ -144,7 +144,7 @@ bool Board::moveSelection(const DIRECTION &direction)
break; break;
case DIRECTION::DOWN: case DIRECTION::DOWN:
if (selection_index > (cells_on_width * (cells_on_height - 1))) // if bottom row if (selection_index >= (cells_on_width * (cells_on_height - 1))) // if bottom row
return false; return false;
selection_index += cells_on_width; selection_index += cells_on_width;
setSelectionVertex(selection_index); setSelectionVertex(selection_index);